Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
991 views
in Technique[技术] by (71.8m points)

jsf 2 - Conditionally display pure HTML elements

I would like to conditionally display the following elements:

<li>
  <h:link outcome="mypage" value="My Value" />
</li>

So my condition should determine if the <li> tag and all it's children would be displayed or not. AFAIK, I can't use <f:verbatim> because of the UIComponent inside the <li> tag (<h:link>).

Any ideas?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

There's another reason to not use <f:verbatim>: it's deprecated in JSF 2.0.

Use <ui:fragment>. It's semantically more correct than a <h:panelGroup> (which by itself indeed renders nothing when no client side specific attributes are specified) and has also a bit less overhead.

<ui:fragment rendered="#{bean.show}">
    ...
</ui:fragment>

(note: due to some bug, Netbeans seems to jerk that this attribute isn't supported, but this is untrue, it's definitely supported)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...