2010-08-09 26 views
0

此圖像應該清楚地解釋問題。我使用p:來自primefaces的消息,但我想它應該適用於h:消息以及。多個<p:messages>在JSF單頁上

alt text http://img717.imageshack.us/img717/4775/pmessages.png

欲一個<p:messages>部件與其中它被放置的形式相關聯。在這種情況下,消息由兩個組件接收。

由服務器生成的錯誤,並且我使用這個功能:

public static void showErrorMessage(String errorString) { 
    FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_ERROR, errorString, ""); 
    FacesContext.getCurrentInstance().addMessage(null, facesMsg); 
} 

我怎樣才能解決這個問題?謝謝!

編輯:澄清:這兩個組件都在同一頁上。

回答

3

這是否是非Ajax請求? p:PrimeFaces 2.1的消息已重新顯示(默認爲true)選項,這可能有幫助。當重新顯示爲false時,已經顯示的消息將被忽略。你也可以使用p:growl作爲替代。

+0

我使用Primefaces 2.0.2。這是客戶的要求,所以我不能升級:( – Akshay 2010-08-09 13:34:53

+0

我結束了使用p:咆哮。似乎沒有直接的解決方案。 – Akshay 2010-08-12 15:11:12

1

在JSF + PrimeFaces 5.2

XHTML

<p:messages for ="Message1" showDetail="true" autoUpdate="true" closable="true" /> 
<p:messages for ="Message2" showDetail="true" autoUpdate="true" closable="true" /> 

豆一個例子

FacesContext.getCurrentInstance().addMessage("Message1", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Error!", "Hello 1")); 

FacesContext.getCurrentInstance().addMessage("Message2", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Error!", "Hello 2")); 

This source give this answer and helped me

+0

我沒有看到這個答案和5歲的問題之間的關係。 – Kukeltje 2015-06-13 12:03:38

相關問題