Не переотображайте сообщения, уже показанные в диалоге в <p: messages autoUpdate = «true»>
Мне нужно показать сообщения об ошибках и предупреждения в диалоговом окне, когда оно отображается. Если диалог не отображается, мне нужно показать сообщения на странице контейнера
Я установил шаблон, используя Facelets во всех видах:template="/WEB-INF/templates/template.xhtml">
с этим содержанием:
<f:view locale="#{loginBB.localeCode}">
<p:messages autoUpdate="true" closable="true" id="globalMessages" />
<ui:insert name="content" />
</f:view>
Во всех диалогах у меня есть следующее:
<p:messages autoUpdate="true" closable="true" id="dialogMessages" />
Когда отображается диалоговое окно, сообщения об ошибках появляются в диалоговом окне и в представлении, которое его удерживает, но мне нужно, чтобы оно отображалось только в диалоговом окне.
Что я делаю не так? Я не знаю что делать
РЕДАКТИРОВАТЬ: Согласно ответу BalusC я сделал следующее:
Шаблон:
<f:view locale="#{loginBB.localeCode}">
<ui:insert name="dialogs" />
<p:messages autoUpdate="true" closable="true" redisplay="false" />
<ui:insert name="content" />
</f:view>
Посмотреть:
<ui:define name="content">
...
</ui:define>
<ui:define name="dialogs">
<h:form id="formX">
<p:dialog ... >
</p:dialog>
</h:form>
</ui:define>
Когда диалог открыт, он показывает сообщение в диалоге. Хорошо. Но когда диалоговое окно закрыто, оно не показывает сообщение на главной странице