我试图在页面加载时调用bean操作,bean在会话范围中注册。
我用这样的js完成了这个: - document.getElementById('form1:show_data')。click();
我知道它可以通过调用bean构造函数中的操作来完成,但是在会话范围内,操作只被调用一次。还有其他任何在JSF 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}" />