jsf消息严重性
我如何能够使用SEVERITY获取所有消息只是错误。 我试过了:
Iterator<FacesMessage> messages = facesContext.getMessages(clientId);
while (messages.hasNext()){
if(messages.next().getSeverity().toString()=="ERROR 2")System.out.println(messages);
}
这是正确的方式吗? 它不会拦截具有ERROR严重性的邮件。
任何帮助将不胜感激。
比较是错误的。 您不能(可靠地)将其内容的字符串与==
进行比较。 当使用==
比较对象时,如果它们具有相同的引用 ,那么它只会返回true
,而不是您所期望的值。 对象需要与Object#equals()
进行比较。
但是你可以用==
比较常量 。 FacesMessage.Severity
值都是静态常量。 您应该比较Severity
与Severity
。 此外,sysout是错误的,它打印迭代器而不是唯一的消息。
这应该工作:
Iterator<FacesMessage> messages = facesContext.getMessages(clientId);
while (messages.hasNext()) {
FacesMessage message = messages.next();
if (message.getSeverity() == FacesMessage.SEVERITY_ERROR) {
System.out.println("Error: " + message);
}
}
链接地址: http://www.djcxy.com/p/71647.html
上一篇: jsf message severity
下一篇: jQuery event binding