2012-04-04 12 views
4

Ich möchte bedingte CSS in meiner Datentabelle verwenden. Hier ist mein Code.Alternative von JSTL-Tags in JSF

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

Aber in JSF möchte ich keine JSTL-Tags verwenden. Gibt es dafür eine andere Alternative? eine Komponente von JSF verwenden ???

Ich möchte eine Klasse in td und eine in der Zeile Klasse der Datentabelle verwenden.

Vielen Dank im Voraus. Tarun Madaan

Antwort

6

In Ihrem speziellen Fall können Sie versuchen, so etwas wie

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

Solch eine einfache Lösung. Aber hat mich nicht angeklickt. Anyways thanks :) Es ist jetzt fertig :) –

+0

Gern geschehen. – Daniel

0

Warum tust du das nicht auf der Serverseite, in deiner verwalteten Bean?

dann erhalten Sie die "rowClass" Eigenschaft als zurück:

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

Dank 4 ur Antwort, aber ich kann dieser Server nicht tun Seite. Aktualisierte meine Fragen zur weiteren Klärung. Bitte schau es dir nochmal an. –