页面上包含JSF中的的错误消息

我在JSF上创建了一个简单的例子。 这是一个小的登录应用程序。 我的问题是我的页面上有重复的错误消息:

我的屏幕

我的页面上有两个h:message (用于用户名和密码)标签和一个h:messages (全局消息):

                

我的支持bean中的操作方法login()

 public String login() { FacesContext facesContext = FacesContext.getCurrentInstance(); if ("admin".equals(username) && "pass".equals(password)) { return "success"; } else { facesContext.addMessage("loginForm", new FacesMessage("Username or password is incorrect")); return null; } } 

我想在这些字段旁边显示关于空用户名或密码的消息 ,而不是在全局消息中的我的按钮下。 如果密码或用户名不正确,我想在全局消息中从我的操作方法打印我的错误消息 。 我该如何解决这个问题?

我尝试使用属性globalOnly

   

但它并没有完全解决我的问题,因为在这种情况下根本不显示全局消息。

提前致谢!

如果在支持bean中正确添加消息, globalOnly开关应该可以正常工作。 FacesContext.addMessage(...)的client-id必须为null

 FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(message));