h:messages
отображает все сообщения, а также те, которые уже отображаются в h:message
на странице. Однако вы можете установить на только отображение сообщений с null
идентификатором клиента, используя globalOnly="true"
.
<h:messages globalOnly="true" />
Вы также можете придать сообщению другой стиль в зависимости от FacesMessage.Severity
:
<h:messages infoClass="info" errorClass="error" />
например, с этим CSS, который скрывает сообщения INFO
и делает ERROR
сообщения красным:
.info {
display: none;
}
.error {
color: red;
}
Вы можете использовать redisplay="false"
, чтобы запретить отображение уже отображаемых сообщений через e.e. <h:message>
.
<h:messages redisplay="false" />
Вам нужно только убедиться, что он помещен в дерево компонентов после всех остальных компонентов сообщения. При необходимости вы можете использовать CSS, чтобы переместить его где-нибудь сверху.
Просто чтобы быть уверенным,
facesContext.addMessage("clientId", facesMessage);
это прикрепит данное сообщение к <h:message for="clientId">
, а не к <h:messages id="clientId">
, как вы, вероятно, ожидаете.