【发布时间】:2013-06-06 12:29:52
【问题描述】:
我有:主页和对话框上的按钮。
A 想要托管 bean (NewDialog.java) 的 ViewScope 生命周期,执行对话框。 换句话说:按下按钮时重新创建 NewDialog bean,并在关闭对话框时销毁。
但是在加载主页时已经创建了 NewDialog bean。 如何仅在按下按钮时强制创建 bean?
<ui:composition
<h:form id="mainForm">
<p:commandButton value="New Dialog"
onclick="newDialogVar.show();"/>
</h:form>
<ui:include src="#{viewScopedBean.page}.xhtml" />
</ui:define>
</ui:composition>
收录页面:
<ui:composition ..
<f:view >
<h:form id="formId"
<p:dialog appendToBody="false"
dynamic="true"
modal="true"
widgetVar="newDialogVar">
<p:commandButton value="Ok"
actionListener="#{newDialog.ok}"/>
</h:form>
</p:dialog>
</f:view>
</ui:composition>
豆子:
@ManagedBean
@ViewScoped
public class NewDialog implements Serializable{
@PostConstruct
protected void postConstruct() {
LOG.info("----------------- PostConstruct -------------------");
}
}
我使用:PrimeFaces 3.5 和 Mojarra 2.1.22
提前致谢!
附: :根据我的研究补充:
<context-param>
<param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
<param-value>false</param-value>
</context-param>
到 web.xml。
【问题讨论】:
标签: java jsf jsf-2 primefaces view-scope