莫哈拉 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 />实例会在树中。
那么,我的问题是renderedMojarra 如何处理该属性?属性是否影响唯一的渲染响应阶段?