p: диалоговое окно не скрыто в html и отображается непосредственно на странице - PullRequest
1 голос
/ 10 июля 2019

У меня есть p:dialog, который обычно не отображается на странице, и когда я активирую его, он отображается как всплывающее окно в новом окне.

<p:dialog id="dialogAdressvalidierung"
              header="Adresse auswählen"
              widgetVar="popupAdrValidierung"
              modal="true"
              draggable="true"
              showEffect=""
              hideEffect=""
              width="900"
              resizable="false"
              appendTo="@(body)">
    <!--dialogs content-->
</p:dialog>

Вывод html обычно является чем-токак это

<div class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-shadow ui-hidden-container ui-draggable"
     id="dialogAdressvalidierung"
     role="dialog"
     aria-hidden="true"
     aria-labelledby="dialogAdressvalidierung_title"
     style="width: 900px; height: auto;">
     <!--content-->
</div>

В одном случае, однако, мне нужно обновить страницу на сервере.

FacesContext context = FacesContext.getCurrentInstance();
Application application = context.getApplication();
ViewHandler viewHandler = application.getViewHandler();
UIViewRoot viewRoot = viewHandler.createView(context, context.getViewRoot().getViewId());
context.setViewRoot(viewRoot);
context.renderResponse();

После выполнения кода Java выше, все диалоговые окна в файлах xhtmlотображается внутри HTML, и страница выглядит ужасно искаженной.Некоторые атрибуты, такие как aria-hidden="true" и role="dialog" элементов div, которые являются результатом p:dialog, пропали:

<div class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-shadow ui-hidden-container"
     id="dialogAdressvalidierung">
    <!--content-->
</div>

Почему вывод html диалога p: больше не скрыт?Как сделать так, чтобы диалоги не отображались на странице, а всплывающие окна только при активации?

...