2012-04-04 50 views
4

我想在我的數據表中使用條件CSS。這是我的代碼。JSF中JSTL標籤的替代方案

<ui:repeat var="myVar" value="#{bean.list}" varStatus="row"> 
     <c:if test="#{row.index % 2 == 0}"> 
      <c:set value="RowColorGrid" var="rowClass"></c:set> 
      <c:set value="ArticleColor" var="articleClass"></c:set> 
     </c:if> 
     <c:if test="#{row.index % 2 != 0}"> 
      <c:set value="RowColorGrid2" var="rowClass"></c:set> 
      <c:set value="ArticleColor2" var="articleClass"></c:set> 
     </c:if> 
    <tr> 
     <td> Some value </td> 
     <td class = "#{articleClass}"> 
      <h:dataTable id="myId" value="#{bean.value}" var="myVO" width="100%" 
        rowClasses="#{rowClass}"> 

         ----Some code--- 
      </h:datatable> 
     </td> 
</ui:repeat> 

但是在JSF中,我不想使用JSTL標籤。有沒有其他的選擇呢?使用JSF的一些組件?

我想在td中使用一個類,在數據表的行類中使用一個類。

在此先感謝。 Tarun Madaan

回答

6

在特定情況下,你可以嘗試像

rowClasses="#{(row.index % 2 == 0)?'RowColorGrid':'RowColorGrid2'}" 
+0

這樣一個簡單的解決方案。但沒有點擊我。反正謝謝:)它現在完成:) – 2012-04-04 12:47:23

+0

不客氣。 – Daniel 2012-04-04 12:50:34

0

爲什麼不在服務器端執行此檢查,在託管bean內?

那麼,你回來了「rowClass」屬性爲:

String getRowClass() { 
    [your checks] 
    return rowClass; 
} 
+0

感謝4烏拉圭回合的答案,但我不能這樣做服務器側。更新我的問題以獲得更多解釋。請再看一遍。 – 2012-04-04 12:41:48