У меня есть страница JSF. Фреймворк PrimeFaces.
Слои строятся как верхняя панель, боковая панель, основной макет
Боковая панель и верхняя панель содержат меню. Оба меню находятся в <form>
:
<p:commandLink action="#{bean.modify}" ajax="false">
<span>Modify</span>
</p:commandLink>
Основной макет также содержит форму кнопок в другой форме. Кнопка содержит диалог подтверждения):
<p:commandLink id="close" action="#{bean.close}" ajax="false" update="form">
<span>Close</span>
<p:confirm header="Lezárás" message="Are you sure close it?" icon="ui-icon-alert"/>
</p:commandLink>
Если я использую ajax = true, просто нажав на кнопку в основном макете, подтвердите, что диалог не появляется.
Если я использую ajax = false, появится подтверждение, но страница на короткое время сломается. Сначала страница будет отображаться без форматирования CSS, а затем CSS будет проверен.
Почему это может быть? В чем разница между семью звонками? В одном случае, почему это делает рендеринг, а в другом - почему не подтверждается DialogDialogs?
Обновление:
Я прочитал ссылку, но до сих пор не понимаю, почему она работает.
Возможно, я написал проблему неправильно.
Существует страница JSF: list.xhtml. Это команда Link
<p:commandLink action="#{bean.modify}" ajax="false">
<span>Modify</span>
</p:commandLink>
Фасоль:
public String modify(){
return "edit.xhtml";
}
В файле edit.xhtml есть кнопка с названием verifyDialog:
<p:commandLink id="close" action="#{bean.close}" ajax="false" update="form">
<span>Close</span>
<p:confirm header="Lezárás" message="Are you sure close it?" icon="ui-icon-alert"/>
</p:commandLink>
Если я вызываю edit.html с list.xhtm с ajax = true, тогда verifyDialog работает, но страница медленно рендерится.
Если я назову ajax = false, то рендеринг будет быстрым, но подтверждение - диалог не работает.
Я не понимаю, потому что это другая страница, поэтому обновляется не только ее часть, но и вся страница