2011-07-06 33 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