2011-04-17 158 views
5

我想知道如何在h:表單中提交的數據有效時在JSF頁面上添加「成功」消息。例如「記錄成功插入」。我嘗試使用FacesContext.addMessage(String clientId,String message),但消息顯示在相同的h:消息框中,以便在無效數據的情況下顯示錯誤消息,從而生成帶有紅色的文本。我不希望使用JavaScript警報。如何顯示JSF成功消息

任何幫助將不勝感激。

回答

7

使用不同的樣式類

h:messages infoStyle="color:darkgreen" errorStyle="color:darkred" 

當添加消息 成功

FacesMessage facesMessage = new FacesMessage(FacesMessage.SEVERITY_INFO, message, null); 

失敗

FacesMessage facesMessage = new FacesMessage(FacesMessage.SEVERITY_ERROR, message,  null); 
3

使用null作爲客戶端ID,使之成爲全局消息,並使用以下在視圖中顯示全局消息只:

<h:messages globalOnly="true" /> 

只要把低於或高於形式這個某處,這取決於功能要求。如果您已經使用<h:messages/>來顯示驗證錯誤而不是<h:message/>,那麼您需要在這一個上設置globalOnly="false"

+0

感謝您的快速回復。雖然你的解決方案似乎沒有工作。成功消息顯示在兩個h:消息框中。 我的代碼看起來像 ... 的 Bart1990 2011-04-17 21:01:21

+0

只需在其他:)上設置globalOnly =「false」查看答案更新。 – BalusC 2011-04-17 22:32:17

+0

不幸的是我仍然得到消息的兩倍,認爲是這樣的: ... 和代碼: public String AddJongere(){ jDao.insertJongere(currentJongere); ContextProvider.getFacesContext()。addMessage(null,new FacesMessage(「Jongere succesvol ingeschreven」,「Succesvol」)); 返回null; } 我在做什麼錯? – Bart1990 2011-04-18 17:44:43