JSF中JSTL标记的替代方案

JSF中JSTL标记的替代方案,jsf,if-statement,jstl,Jsf,If Statement,Jstl,我想在我的数据表中使用条件css。这是我的密码 <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="

我想在我的数据表中使用条件css。这是我的密码

    <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

为什么不在托管bean中的服务器端执行此检查

然后,返回“rowClass”属性,如下所示:

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

在您的具体情况下,您可以尝试以下方法

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

谢谢你的回答,但我不能在服务器端这样做。更新我的问题以获得更多澄清。请再看一看。这么简单的解决方案。但是没有点击我。不管怎样,谢谢:)现在完成了:)