此图像应清楚地解释问题。我正在使用来自primefaces的 p:messages ,但我想它也应该适用于 h:messages 。
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);
}
我该如何解决这个问题?谢谢!
编辑:澄清:两个组件都在同一页面上。
答案 0 :(得分:3)
这是非ajax请求吗? p:PrimeFaces 2.1的消息具有重新显示(默认情况下为true)选项,这可能有所帮助。当redisplay为false时,将忽略已显示的消息。您也可以使用p:growl作为替代方案。
答案 1 :(得分: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"));