У меня есть таблица данных, в которой я хочу изменить цвет ячейки на основе некоторого анализа содержимого. Таблица связана с массивом объектов Comment, которому я дал String cssClass, который обновляется после запуска анализа. Это то, что я пытался подключить к свойству rowClasses таблицы данных. Это не работает, и я думаю, что проблема может заключаться в том, что я не могу получить доступ к переменной, созданной для каждой строки таблицы данных, изнутри объявления таблицы данных.
Код Datatable:
<h:dataTable value="#{post.comments}" var="comment" class="hs-table" rowClasses="#{comment.cssClass}" >
<h:column>
#{comment.name}
</h:column>
<h:column>
#{comment.email}
</h:column>
<h:column>
#{comment.msg}
</h:column>
</h:dataTable>
Класс Comment:
public class Comment {
private String msg;
private String email;
private String name;
private Date date;
private String cssClass;
public Comment(){
cssClass = "normColumn";
}
epublic String getCssClass() {
return cssClass;
}
public void setCssClass(String cssClass) {
this.cssClass = cssClass;
}
}
Где cssClass обновляется в управляемом компоненте:
if(tone>0)
c.setCssClass("commentPos");
else if(tone<0)
c.setCssClass("commentNeg");
Класс никогда не назначается. Я делаю что-то не так или это просто невозможно?