FacesContext:单独的错误和成功消息

gaf*_*fcz 2 java jsf jsf-2

我正在以这种方式创建错误消息:

public static void setErrorMessage(String errorMessage) {
  FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(errorMessage));
}
Run Code Online (Sandbox Code Playgroud)

并在出现错误时将其显示在表格上(红色):

<h:messages styleClass="error"/>
Run Code Online (Sandbox Code Playgroud)

如何在JSF中分离错误和成功消息?简单地说,如何以绿色显示正面信息,以红色显示否定信息?

Bal*_*usC 5

使用errorClassinfoClass替代属性对于那些严重程度指定不同的样式类(也有warnClassfatalClass,又见标记文档):

<h:messages infoClass="info" errorClass="error" />
Run Code Online (Sandbox Code Playgroud)

styleClass涵盖了无与伦比的严重性.您只需要更改创建消息的方式.如果未指定严重性,则默认为"info".又见FacesMessage的javadoc.

public static void setErrorMessage(String errorMessage) {
    FacesContext.getCurrentInstance().addMessage(null, 
        new FacesMessage(FacesMessage.SEVERITY_ERROR, errorMessage, null));
}
Run Code Online (Sandbox Code Playgroud)