Java 多次调用后构造函数
简而言之,问题就在这里 当我更改菜单的值时,它会在backingbean中再次执行post构造函数,然后执行方法fillAreas,我使用了视图范围Java 多次调用后构造函数,java,ajax,jsf-2,primefaces,ajax4jsf,Java,Ajax,Jsf 2,Primefaces,Ajax4jsf,简而言之,问题就在这里 当我更改菜单的值时,它会在backingbean中再次执行post构造函数,然后执行方法fillAreas,我使用了视图范围 <p:selectOneMenu id="governate" value="#{add.selectedGovern}" style="height:26px; text-align: right; width: 303px;" va
<p:selectOneMenu id="governate" value="#{add.selectedGovern}" style="height:26px; text-align: right; width: 303px;"
valueChangeListener="#{add.fillAreas}" rendered="#{languageBean.isDefaultLanguage==true}" immediate="true" >
<f:selectItem itemLabel="---#{prompts._select} ---" itemValue="0"/>
<f:selectItems value="#{add.governrateList}" var="govern" itemLabel="#{govern.governrateName}" itemValue="#{govern.governrateId}" />
<f:ajax immediate="true"/>
</p:selectOneMenu>
如何防止调用post构造函数?若后构造函数只调用了一次,为什么每次我从菜单中选择时它都会调用?
提前感谢。当视图范围bean的属性绑定到标记处理程序的属性(JSTL
、Facelets
、JSF
等)或JSF UI组件的绑定或id
属性(
等)时,将在每个请求上重新创建视图范围bean
这是有关的。您可以通过禁用特定视图的部分状态保存来解决此问题,或者通过寻找替代方法来实现所需的功能需求
另见:
通过后构造函数,您是指ViewScoped
bean的后构造函数吗?是的,通过我的ViewScoped bean的后构造函数。