2012-04-04 104 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