Я добавляю сюда упрощенную версию кода, которая не работает для меня.Здесь происходит то, что есть две формы.
Первая форма содержит axaxified <h:commandLink>
(с использованием <f:ajax>
) Вторая форма содержит форму со значениями.
Когда <h:commandLink>
нажата, значения во второй форме должны быть отправлены.
На практике происходит то, что значения извлекаются (функция-получатель запускается), но не отправляются (функция-установщик никогда не запускается).
<f:ajax>
работает, потому что я вижу, как работает метод слушателя, и вторая форма действительно перерисовывается после нажатия <h:commandLink>
, но, опять же, функции установки никогда не запускаются.
<body>
<h:form prependId="false">
<h:panelGroup >
<h:commandLink >
<f:ajax event="click"
execute=":form_with_values_to_update" render=":form_with_values_to_update"
listener="#{mrBean.clickListenerAction}" />
Do something
</h:commandLink>
</h:panelGroup>
</h:form>
<h:panelGroup>
<h:form id="form_with_values_to_update">
<fieldset>
<ui:repeat value="#{mrBean.aMemberOfBean.aListInAMemberOfBean}" var="listItem">
<h:panelGroup>
<h:outputText value="#{listItem.label}" />
<h:inputText id="contact_details_input"
value="#{listItem.value}" />
</h:panelGroup>
</ui:repeat>
</fieldset>
</h:form>
</h:panelGroup>
</body>
PS - Использование MyFaces JSF 2.1