在页面加载时调用JSF托管bean *** 作

在页面加载时调用JSF托管bean *** 作,第1张

在页面加载时调用JSF托管bean *** 作

JSF 1.0 / 1.1

只需将所需的逻辑放入与JSF页面关联的请求范围的bean的构造函数中即可。

public Bean() {    // Do your stuff here.}

JSF 1.2 / 2.x

@PostConstruct在请求或视图范围的bean上使用带注释的方法。将在构造和初始化/设置所有托管属性和注入的依赖项之后执行它。

@PostConstructpublic void init() {    // Do your stuff here.}

如果您使用的是使用代理(例如CDI)的bean管理框架,则强烈建议在构造方法上使用此方法,因为在您期望的时间可能不会调用该构造方法。

JSF 2.0 / 2.1

或者,

<f:event type="preRenderView">
在您打算基于进行初始化的情况下
<f:viewParam>
,或者在将bean放置在比视图范围更广的范围时使用(这反过来表明存在设计问题,但在此范围之外)。否则,a@PostConstruct也很好。

<f:metadata>    <f:viewParam name="foo" value="#{bean.foo}" />    <f:event type="preRenderView" listener="#{bean.onload}" /></f:metadata>public void onload() {     // Do your stuff here.}

JSF 2.2以上
或者,

<f:viewAction>
在您打算基于进行初始化的情况下
<f:viewParam>
,或者在将bean放置在比视图范围更广的范围时使用(这反过来表明存在设计问题,但在此范围之外)。否则,a@PostConstruct也很好。

<f:metadata>    <f:viewParam name="foo" value="#{bean.foo}" />    <f:viewAction action="#{bean.onload}" /></f:metadata>
public void onload() {     // Do your stuff here.}

请注意,String如果需要,这可以返回导航情况。它将被解释为重定向(因此您无需在

?faces-redirect=true
此处)。

public String onload() {     // Do your stuff here.    // ...    return "some.xhtml";}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5461940.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存