2013-08-22 135 views
2

我使用primeface在我的web項目中第一次和有色我的數據表中的行動態使用rowStyleClass像
rowStyleClass="#{alar.severity eq 'Major' ? 'major' : null}"
但是有什麼辦法來檢查在rowStyleClass多個條件? 我想檢查嚴重級別,次要級別和正常級別。我怎樣才能執行多個條件? 任何想法都將非常棒。多重條件

回答

4

在想你的情況和一般如果使用小寫嚴重程度排類你不想排除任何嚴重程度,下面應該做的伎倆:

rowStyleClass="#{not empty alar.severity ? alar.severity.toLowerCase() : null}" 

另一個更具擴展性和更可讀的解決方案是限定豆方法這需要alar作爲參數並返回的styleClass:

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

rowStyleClass="#{alar.severity eq 'Major' ? 'major' : 
       alar.severity eq 'Minor' ? 'minor' : 
       alar.severity eq 'Normal' ? 'normal' : 
       null}" 
+0

感謝豬頭...對我來說,第二個工作:)。 – Nikhil

3

只是級聯的條件:

rowStyleClass="#{alar.severity eq 'Major' ? 'major' : 
       (alar.severity eq 'Normal' ? 'normal' : 
       (alar.severity eq 'Minor' ? 'minor' : null))}"> 

但它可以得到快速不清楚,所以不級聯過於頻繁。