我第一次在我的Web项目中使用primefaces,并使用rowStyleClass这样动态地对数据表行进行着色rowStyleClass="#{alar.severity eq 'Major' ? 'major' : null}"
但是,有什么方法可以检查rowStyleClass中的多个条件吗?
我要检查严重程度,主要,次要和正常。如何执行多个条件?
最佳答案
考虑到您的情况,通常,如果您将小写的严重性用作行类,并且您不想排除任何严重性,则可以使用以下技巧:
rowStyleClass="#{not empty alar.severity ? alar.severity.toLowerCase() : null}"
另一个更具扩展性和可读性的解决方案是定义一个以
alar
为参数并返回样式类的bean方法:public String alarStyleClass(Alar alar) {
if(alar.severity.equals("Major")) return "major";
if(alar.severity.equals("Minor")) return "minor";
if(alar.severity.equals("Normal")) return "normal";
return null;
}
对于
rowStyleClass
:rowStyleClass="#{bean.alarStyleClass(alar)}"
我想到的最后一个可能的解决方案是直接在
rowStyleClass
属性中进行所有检查:rowStyleClass="#{alar.severity eq 'Major' ? 'major' :
alar.severity eq 'Minor' ? 'minor' :
alar.severity eq 'Normal' ? 'normal' :
null}"