2017-08-21 2 views
0

Ich habe eine JSF-App und ich generieren <table> s dynamisch basierend auf einigen Daten. Für jede Zelle dynamisch die CSS-Klasse generieren ich und ich schreibe alle Klassen in der * .jsf Datei (mit ResponseWriter)CSS-Klassen auf Ajax-Update hinzufügen?

eine vereinfachte resultierende Seite:

<div id="styles"> 
    <style type="text/css"> 
cell1 { 
    color: red; 
} 
cell2 { 
    color: blue; 
} 
cell3 { 
    color: black; 
} 
cell4 { 
    color: green; 
} 
</style> 
</div> 

<table style="width:100%"> 
    <tr> 
    <td class="cell1">Jill</td> 
    <td class="cell2">Smith</td> 
    </tr> 
    <tr> 
    <td class="cell3">Eve</td> 
    <td class="cell4">Jackson</td> 
    </tr> 
</table> 

Die Tabelle sehr groß sein kann und es Es ist möglich, dass Zellen den gleichen Stil teilen.

Die Zellenstile können sich aufgrund einiger Benutzereingaben in der Tabelle ändern. Ich kann die Zelle auf Ajax-Anfrage aktualisieren, die UIComponent.visitTree(VisitContext context, VisitCallback callback) überschreibt, aber ich habe keine Ahnung, ob und wie ich zusätzliche css Klassen hinzufügen kann.

Antwort

0

Ich glaube, ich habe eine Lösung gefunden: innerhalb UIComponent.visitTree(VisitContext context, VisitCallback callback) ich die Zelle neu schreiben kann (<td>) und fügen Sie den <style type="text/css"> Tag als Kind des <td> Tag die neuen CSS-Klassen ihm hinzufügen.