通常我们在其他页面中包含这样的任何JSF / XHTML页面让我们假设我在include_popup.xhtml
页面中包含了parent.xhtml
页面。
<ui:include src="include_popup.xhtml" >
<ui:param name="parentBean" value="#{beanName}" />
</ui:include>
您可以查看包含的窗口是一个弹出页面,当用户执行action
<a4j:commandButton value="ButtonName" action="#{beanNaem.callSomeMethod}" oncomplete="#{rich:component('popup')}.show(true)" >
</a4j:commandButton>
但是当parent.xhtml
的所有get / set include_popup.xhtml
也被调用时,将会呈现Button
。但是当我点击Button
时弹出窗口将会打开。现在我的问题是当我点击parent.xhtml
时我必须初始化PopupBean的一些变量但是当get / set已经被调用时action
现在加载,如果我给PopUp Window的变量赋予一些新值,Request Scope
触发它不会影响更新Popup Bean变量,那么将显示旧值。
那么如何解决这个问题..我必须为弹出窗口使用条件渲染?把它放在其他组件中然后使用render属性或其他我可以做的事情?
注意: - 我的弹出Bean有session scope
和ParentBean EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'email_address@gmail.com'
EMAIL_HOST_PASSWORD = '**********'
EMAIL_PORT = 587
EMAIL_USE_TLS = True