У нас есть меню навигации ajax, которое включает динамическое включение. У включенных файлов есть свои собственные формы.
<h:form>
<h:commandButton value="Add" action="#{navigator.setUrl('AddUser')}">
<f:ajax render=":propertiesArea" />
</h:commandButton>
</h:form>
<h:panelGroup id="propertiesArea" layout="block">
<ui:include src="#{navigator.selectedLevel.url}" />
</h:panelGroup>
Он работает корректно, но любая команда в включенном файле не работает при первом нажатии. Он работает только во втором клике и вперед.
Я нашел этот вопрос commandButton/commandLink/ajax action/listener метод, который не вызывается, или вводимое значение не обновлено, и моя проблема описана в пункте 9.
Я понимаю, что мне нужно явно указать идентификатор <h:form>
в include в <f:ajax render>
для его решения.
<f:ajax render=":propertiesArea :propertiesArea:someFormId" />
В моем случае, однако, идентификатор формы неизвестен заранее. Также эта форма будет недоступна в контексте initally.
Есть ли какое-либо решение для вышеупомянутого сценария?