仅在第一个h:messages组件中显示全局面部消息

时间:2015-04-27 17:00:31

标签: jsf jsf-2 messages

我在一个JSF页面中有两个全局消息组件:

<h:messages id="msg2" layout="table" globalOnly="true" showSummary="true" showDetail="true"/>

而且:

FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "", "No result"));

第一个是在这里发起的:

FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "", "Reset problem"));

此处发布了第二条消息:

msg1

但是,当msg2被调用时,它的消息值也会显示在Function convertToDict(arrayIp As Variant) As Object Dim dict As Object Set dict = CreateObject("scripting.dictionary") For Each element In arrayIp If dict.exists(element) Then dict.Item(element) = dict.Item(element) + 1 Else dict.Add element, 1 End If Next End Function 中。

如何避免这种情况发生?

1 个答案:

答案 0 :(得分:3)

前言:我会假设已经考虑将globalOnly="true"替换为for="someClientId"addMessage("someClientId", message),并且由于某种原因显然不适用于您的具体情况,否则解决方案会非常明显。

在最后一个邮件组件上将redisplay属性设置为false

<h:messages ... redisplay="false">

然后它不会重新显示之前已在另一个消息组件中显示的消息。我只是想知道你是否不能更好地微调ajax update / render以仅引用特定的消息组件。