有条件地显示纯HTML元素

blu*_*oot 13 html conditional jsf-2

我想有条件地显示以下元素:

<li>
  <h:link outcome="mypage" value="My Value" />
</li>
Run Code Online (Sandbox Code Playgroud)

所以我的病情应该确定<li>标签及其所有孩子是否会被显示.AFAIK,我不能使用<f:verbatim>因为<li>tag(<h:link>)里面的UIComponent .

有任何想法吗?

Bal*_*usC 26

还有另一个不使用的原因<f:verbatim>:它在JSF 2.0中已被弃用.

使用<ui:fragment>.它在语义上比a更正确<h:panelGroup>(当没有指定客户端特定属性时,它本身确实没有呈现任何内容)并且还有更少的开销.

<ui:fragment rendered="#{bean.show}">
    ...
</ui:fragment>
Run Code Online (Sandbox Code Playgroud)

(注意:由于一些bug,Netbeans似乎不支持这个属性,但这是不真实的,它肯定是支持的)

  • 对.文档没有明确说明如果没有给出参数,`<h:panelGroup>`将呈现任何内容.但我们都知道,你证实了这一点.另外,我也不喜欢重载责任,因为`<h:panelGroup>`已经用于渲染块或内联元素.所以,`<ui:fragment>`更适合这类问题. (2认同)