我想有条件地显示以下元素:
<li>
<h:link outcome="mypage" value="My Value" />
</li>
所以我的情况应该确定是否会显示<li>
标签及其所有子标签。 AFAIK,由于<f:verbatim>
代码(<li>
)中的UIComponent,我无法使用<h:link>
。
有什么想法吗?
答案 0 :(得分:26)
还有另一个原因是不使用<f:verbatim>
:它在JSF 2.0中已弃用。
使用<ui:fragment>
。它在语义上比<h:panelGroup>
更正确(当没有指定客户端特定属性时,它本身确实没有呈现),并且开销也有所减少。
<ui:fragment rendered="#{bean.show}">
...
</ui:fragment>
(注意:由于一些错误,Netbeans似乎不支持这个属性,但这是不真实的,它肯定是支持的)
答案 1 :(得分:1)
您可以将元素包含在h:panelGroup
中,并在面板组的rendered
属性中使用您的条件。
<h:panelGroup rendered="...">
<li>
<h:link outcome="mypage" value="My Value" />
</li>
<h:panelGroup>