h :commandButton/h :commandLink не работает при первом щелчке, работает только при втором щелчке

У нас есть меню навигации 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>во включение в <f:ajax render>, чтобы решить эту проблему.

<f:ajax render=":propertiesArea :propertiesArea:someFormId" />

Однако в моем случае идентификатор формы заранее неизвестен. Также эта форма не будет доступна в контексте изначально.

Есть ли решение для описанного выше сценария?

22
задан Community 23 May 2017 в 11:46
поделиться