我正在使用jsf 2.1和Primefaces 3.3。我想使用<p:message>在页面顶部的页面内显示错误总数。

请给我有关如何做的建议,如果您可以举例说明,这将对您有所帮助。先感谢您。

最佳答案

如果您只想计算特定消息(例如仅错误)。您可以执行以下操作:

@ManagedBean
@RequestScoped
public class MessageCount {

    public int getFatal() {
        return countMessages(FacesMessage.SEVERITY_FATAL);
    }

    public int getError() {
        return countMessages(FacesMessage.SEVERITY_ERROR);
    }

    public int getWarn() {
        return countMessages(FacesMessage.SEVERITY_WARN);
    }

    public int getInfo() {
        return countMessages(FacesMessage.SEVERITY_INFO);
    }

    private int countMessages(FacesMessage.Severity severity) {
        Iterator<FacesMessage> iterator = FacesContext.getCurrentInstance().getMessages();
        int count = 0;
        while (iterator.hasNext()) {
            FacesMessage msg = iterator.next();
            if (severity.compareTo(msg.getSeverity()) == 0) {
                count++;
            }
        }
        return count;
    }
}

在您的jsf页面中:
<h:outputText value="#{messageCount.error}"/>

关于jsf - 如何在primefaces消息中显示页面内的错误总数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14340848/

10-10 03:37