如何使用SEVERITY获取所有消息仅为ERROR.我试过了:
Iterator<FacesMessage> messages = facesContext.getMessages(clientId);
while (messages.hasNext()){
if(messages.next().getSeverity().toString()=="ERROR 2")System.out.println(messages);
}
Run Code Online (Sandbox Code Playgroud)
这是对的吗?它不会拦截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);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7247 次 |
最近记录: |