我在一个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
中。
如何避免这种情况发生?
答案 0 :(得分:3)
前言:我会假设已经考虑将globalOnly="true"
替换为for="someClientId"
和addMessage("someClientId", message)
,并且由于某种原因显然不适用于您的具体情况,否则解决方案会非常明显。
在最后一个邮件组件上将redisplay
属性设置为false
。
<h:messages ... redisplay="false">
然后它不会重新显示之前已在另一个消息组件中显示的消息。我只是想知道你是否不能更好地微调ajax update / render以仅引用特定的消息组件。