莫哈拉 2.1。
我检查了public void execute(FacesContext facesContext) throws FacesException
类中的方法com.sun.faces.lifecycle.RestoreViewPhase
。现在,一旦视图通过调用恢复, viewRoot = viewHandler.restoreView(facesContext, viewId);
我们就有了来自上一个请求的完整树(如果它是回发)。
我检查了那棵树(children
在调试器中手动迭代组件的属性),发现复合组件声明如下:
<h:panelGroup rendered="#{bean.id == 1}">
<utils:dropDownListFilterItem />
</h:panelGroup>
<h:panelGroup rendered="#{bean.id == 2}">
<utils:dateFilterItem />
</h:panelGroup>
<h:panelGroup rendered="#{bean.id == 3}">
<utils:fieldFilterItem />
</h:panelGroup>
都在那棵树上。尽管#{bean.id}
被评估为 2,但它还是发生了。我预计唯一的<utils:dateFilterItem />
实例会在树中。
那么,我的问题是rendered
Mojarra 如何处理该属性?属性是否影响唯一的渲染响应阶段?