打开页面时调用方法xhtml [primefaces]

时间:2014-05-05 19:59:16

标签: jsf primefaces

我需要在不点击任何Boutton的情况下调用方法,但我没有意识到。

我用传统的方法调用方法,我创建了一个名为

的方法的按钮

这是按钮的代码:

 <p:commandButton process="@form" value="ecouter"  action="#{alarmeBean.alarme}" />

但我需要在打开我的页面时调用该方法(方法是警告)??

2 个答案:

答案 0 :(得分:0)

这是在每个HTTP请求(包括页面刷新)中调用辅助bean中的方法的方法:

<f:metadata>
    <f:event listener="#{alarmeBean.alarme}" type="preRenderView" />
</f:metadata>

否则,要在页面加载(第一次)后调用方法,您应该通过&#34; post built&#34;为了在构造的bean阶段调用它(它不应该是@RequestScoped以避免向服务器端发送请求,这会使页面刷新,然后再次调用该方法,这不是期望的):

@PostConstruct
public void alarme(){
    ...
}

答案 1 :(得分:0)

像奥马尔一样使用preRenderView。我的意思是:

<f:metadata>
    <f:event listener="#{alarmeBean.alarme}" type="preRenderView" />
</f:metadata>

为了避免在每个轮询刷新检查时调用它,如果这是来自poll的ajax请求,或者它是alarme方法中的完整Get请求,如下所示。

FacesContext fc = FacesContext.getCurrentInstance();
if (fc.getPartialViewContext().isAjaxRequest()) {
    // ignore this request, we are only interested in GET full page requests
    return;
}