Необходимо убедиться, что компонент поддержки, содержащий условие для атрибута rendered
, равен @ViewScoped
. В противном случае условие будет повторно инициализировано по умолчанию в запросе ajax. Вам также необходимо изменить визуализацию <f:ajax>
, чтобы явно включить идентификатор клиента любого другого <h:form>
, который должен быть обновлен с помощью ajax, в противном случае он потеряет свое состояние просмотра.
например. в modal.xhtml
<h:form id="downloadForm">
<h:commandLink id="link2" value="download" action="#{backing.downloadData()}"/>
</h:form>
с этим изменением в main.xhtml
<h:form>
<h:commandLink id="link" value="download" action="#{backing.openModal()}">
<f:ajax render="_panel1 _downloadForm" />
</h:commandLink>
</h:form>
Смотри также: