我有一个JSF页面,其中包含:
<div class="tableCaption">
<h2>Batch Details</h2>
</div>
以及定义.tableCaption h2 外观的CSS
我想将上面的div封装在具有"rendered"属性的JSF组件中,这样我就可以启用/禁用div,但找不到合适的组件。是否可以包装任意HTML组件并打开/关闭它们?
如果这不可能,有没有办法使用以某种方式使其使用已经为.tableCaption h2定义的CSS?
您可以使用<h:panelGroup layout="block">
来获取HTML <div>
元素。
<h:panelGroup layout="block" styleClass="tableCaption" rendered="#{condition}">
<h2>Batch Details</h2>
</h:panelGroup>
或者,当使用JSP作为视图技术时,如果唯一的主体是纯HTML,则可以使用<f:verbatim>
。
<f:verbatim rendered="#{condition}">
<div class="tableCaption">
<h2>Batch Details</h2>
</div>
</f:verbatim>
请注意,这个标签在JSF 2.0中已经被弃用,取而代之的是Facelets
或者,当你使用Facelets作为视图技术时,<ui:fragment>
应该做到:
<ui:fragment rendered="#{condition}">
<div class="tableCaption">
<h2>Batch Details</h2>
</div>
</ui:fragment>