2013-01-20 65 views
0

我正在使用Icefaces 3.2。我想知道如何從backing bean方法重置組件的styleClass屬性,例如textarea。如何從bean中設置JSF組件的styleclass屬性?

USECASE:我有一個ace:textAreaEntry,它在後臺bean中有一個驗證器方法。在這個支持bean中,我正在做一些驗證。如果驗證失敗,我想要一個特定的CSS類應用到組件。所以我想重置styleclass屬性的值。

回答

2

您可以在所有

<ace:textAreaEntry 
    styleClass="#{facesContext.validationFailed?'failedClass':''}"/> 

設置styleClass有條件,這樣

<ace:textAreaEntry 
    styleClass="#{facesContext.validationFailed?'failedClass':'validClass'}"/> 

或僅分配失敗等級和否則沒有階級如果手動設置信息將顯示在您的網頁時可以檢查facesContext.messageList是否爲空,像這樣

<ace:textAreaEntry 
    styleClass="#{(not empty facesContext.messageList)?'filedClass':'validClass'}"/> 

如果你想測試的一些具體的內部邏輯驗證您可以檢查一些布爾例如

<ace:textAreaEntry 
    styleClass="#{(myBean.someComponentFailed)?'filedClass':'validClass'}"/> 

其中someComponentFailed的是,你在驗證失敗設置爲真/假

+0

感謝某些屬性答覆,但如果採用這種方法,即使驗證由於其他組件而失敗,我的stytareaentry入口也會改變。我想檢查特定組件的驗證失敗。 – ZEE

+0

更新了我的答案... – Daniel