2011-07-06 34 views
2

我有一个包含JSF页面禁用嵌套的标题html元素:如何使用JSF呈现属性

<div class="tableCaption"> 
    <h2>Batch Details</h2> 
</div> 

和定义.tableCaption H2的外观的CSS

我想换行在具有“已渲染”属性的JSF组件中,在div上面,所以我可以启用/禁用div,但找不到合适的组件。甚至可以打包任意的HTML组件并将它们打开/关闭?

如果这是不可能的,有没有办法使用 以某种方式使它使用已经为.tableCaption h2定义的CSS?

回答

1

您可以使用<h:panelGroup layout="block">来获取HTML <div>元素。

<h:panelGroup layout="block" styleClass="tableCaption" rendered="#{condition}"> 
    <h2>Batch Details</h2> 
</h:panelGroup> 

另外,使用JSP作为视图技术时,你可以使用<f:verbatim>,而不是如果的唯一机构是纯粹的HTML。

<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> 
+0

您好,感谢您的建议。不幸的是,我忘了提及我在JSF 1.1上,以上都不会像JSF1.2或以上版本那样工作。我最终使用MyFaces Tomahawk库来实现JSF1.1 - 特别是''标签。 –

+0

JSF 1.1支持''。 – BalusC

+0

''不支持JSF1.1中的'rendered'属性 – andy