相关疑难解决方法(0)

JSF2 Facelets中的JSTL有意义吗?

我想有条件地输出一些Facelets代码.

为此,JSTL标签似乎工作正常:

<c:if test="${lpc.verbose}">
    ...
</c:if>
Run Code Online (Sandbox Code Playgroud)

但是,我不确定这是否是最佳做法?还有另一种方法来实现我的目标吗?

jsf jstl facelets jsf-2

159
推荐指数
2
解决办法
8万
查看次数

即使渲染属性为false,组件仍会在组件树中结束

Mojarra 2.1.

我检查public void execute(FacesContext facesContext) throws FacesException了班上的方法com.sun.faces.lifecycle.RestoreViewPhase.现在,一旦视图通过invokation恢复, 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>
Run Code Online (Sandbox Code Playgroud)

都在那棵树里.尽管#{bean.id}被评估为2 ,但它很高兴.我发现唯一的<utils:dateFilterItem />实例将在树中.

所以,我的问题是renderedMojarra 如何处理属性?属性是否会影响唯一的渲染响应阶段?

jsf rendered-attribute jsf-2

1
推荐指数
1
解决办法
780
查看次数

标签 统计

jsf ×2

jsf-2 ×2

facelets ×1

jstl ×1

rendered-attribute ×1