post-constructor多次调用

时间:2012-10-03 17:13:51

标签: java ajax jsf-2 primefaces ajax4jsf

简而言之就是这个问题 当我重视菜单的更改时,它会在辅助bean中再次执行post-constructor,然后执行方法fillAreas并使用视图范围。

<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-constructor?如果post-constructor一次调用,为什么每次从菜单中选择它都会调用它? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

当每个请求的属性绑定到标记处理程序的属性(JSTL <c:forEach>,Facelets <ui:include>,JSF <f:validateXXX>时,将在每个请求上重新创建视图范围的bean,等)或JSF UI组件的bindingid属性(<h:someComponent>等)。

这与JSF issue 1492有关。您可以通过禁用特定视图的部分状态保存或通过查找实现所需功能要求的其他方法来解决此问题。

另见: