在即将到来的EL 3.0之前,您不能在 EL 中引用常量。
至于开源库,唯一可以帮助您的是OmniFaces。它<o:importConstants>
为此目的提供了一个标签。
<o:importConstants type="javax.faces.application.FacesMessage" />
这样你就可以使用
#{facesContext.maximumSeverity eq FacesMessage.SEVERITY_ERROR or facesContext.maximumSeverity eq FacesMessage.SEVERITY_FATAL}
或者
#{facesContext.maximumSeverity.compareTo(FacesMessage.SEVERITY_WARN) gt 0}
或者
#{facesContext.maximumSeverity.compareTo(FacesMessage.SEVERITY_ERROR) ge 0}
或者
#{facesContext.maximumSeverity.ordinal gt FacesMessage.SEVERITY_WARN.ordinal}
或者
#{facesContext.maximumSeverity.ordinal ge FacesMessage.SEVERITY_ERROR.ordinal}
(请注意,我省略了不必要的get
前缀和()
括号,EL 中的 IDE 自动完成不一定会生成正确且干净的代码)