Nie wyświetlaj ponownie komunikatów już wyświetlanych w oknie dialogowym w <p: wiadomości autoUpdate = „true”>
Muszę wyświetlać komunikaty o błędach i ostrzeżenia w oknie dialogowym. Jeśli okno dialogowe nie jest wyświetlane, muszę pokazać wiadomości na stronie kontenera
We wszystkich widokach ustawiłem szablon za pomocą facelets:template="/WEB-INF/templates/template.xhtml">
z tą treścią:
<f:view locale="#{loginBB.localeCode}">
<p:messages autoUpdate="true" closable="true" id="globalMessages" />
<ui:insert name="content" />
</f:view>
We wszystkich oknach dialogowych mam następujące:
<p:messages autoUpdate="true" closable="true" id="dialogMessages" />
Gdy pojawia się okno dialogowe, komunikaty o błędach pojawiają się w oknie dialogowym iw widoku, który je zawiera, ale potrzebuję tego tylko w oknie dialogowym.
Co robię źle? Nie wiem co robić
EDYCJA: Zgodnie z odpowiedzią BalusC zrobiłem co następuje:
Szablon:
<f:view locale="#{loginBB.localeCode}">
<ui:insert name="dialogs" />
<p:messages autoUpdate="true" closable="true" redisplay="false" />
<ui:insert name="content" />
</f:view>
Widok:
<ui:define name="content">
...
</ui:define>
<ui:define name="dialogs">
<h:form id="formX">
<p:dialog ... >
</p:dialog>
</h:form>
</ui:define>
Po otwarciu okna dialogowego wyświetla komunikat w oknie dialogowym. To jest wporządku. Ale gdy okno dialogowe jest zamknięte, nie wyświetla wiadomości na stronie głównej