несколько <p: messages> на одной странице JSF - PullRequest
0 голосов
/ 09 августа 2010

Это изображение должно ясно объяснить проблему.Я использую p: messages от простых лиц, но я думаю, что это должно относиться и к h: messages .1009 * Я хочу связать компонент <p:messages> с формой, в которой он находится.В этом случае сообщение получено обоими компонентами.

Ошибка генерируется сервером, и я использую эту функцию:

public static void showErrorMessage(String errorString) {
    FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_ERROR, errorString, "");
    FacesContext.getCurrentInstance().addMessage(null, facesMsg);
}

Как мне решить эту проблему?Спасибо!

Редактировать: Уточнение: оба компонента находятся на одной странице.

Ответы [ 2 ]

3 голосов
/ 09 августа 2010

Это не-AJAX-запрос? p: в сообщениях PrimeFaces 2.1 есть опция повторного отображения (по умолчанию true), которая может помочь Когда redisplay имеет значение false, сообщения, которые уже отображаются, игнорируются. Также вы можете использовать p: growl в качестве альтернативы.

1 голос
/ 12 июня 2015

Пример в JSF + PrimeFaces 5.2

xhtml

<p:messages for ="Message1" showDetail="true" autoUpdate="true" closable="true" />
<p:messages for ="Message2" showDetail="true" autoUpdate="true" closable="true" />

Bean

FacesContext.getCurrentInstance().addMessage("Message1", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Error!", "Hello 1"));

FacesContext.getCurrentInstance().addMessage("Message2", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Error!", "Hello 2"));

Этот источник дал этот ответ и помог мне

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...