在页面加载时调用JSF 1 bean动作

时间:2017-12-07 11:29:47

标签: jsf jsf-1.1

我正在尝试在页面加载时调用bean操作,bean在会话范围中注册。

我用这样的js完成了这个: - 的document.getElementById( 'Form1中:show_data')点击()。

我知道可以通过调用bean构造函数中的操作来替代它,但是在会话范围内,操作只被调用一次。还有其他任何在JSF 1中这样做。

1 个答案:

答案 0 :(得分:1)

您仍然可以在请求范围内创建另一个bean,并在其构造函数中获取会话bean并调用您需要调用的任何内容。

public RequestScopedBean() {
    FacesContext fc = FacesContext.getCurrentInstance();

    SessionScopedBean ssb = (SesssionScopedBean) fc
        .getApplication()
        .getVariableResolver()
        .resolveVariable(fc, "sessionScopedBean");
    ssb.callSomething();
}

您仍然必须以某种方式在视图中引用请求范围的bean,以确保它将被创建。

这样做:

<f:subview rendered="#{requestScopedBean = null}" />