Я спрашивал об этом на форуме PF, но, похоже, никто не хочет отвечать, поэтому я решил попытать счастья здесь.
У меня есть пользовательский интерфейс: повторить, что после Ajax не обновляется правильновызов, когда он находится внутри TabView.
В простом сценарии есть пользовательский интерфейс: повторите указатель на ArrayList (ArrayList содержит простые pojos со строкой).В этом у меня есть h: inputText, значением которого является метод получения / установки строки Pojo.Пользовательский интерфейс: repeat содержится в ah: panelGroup.Я использую ap: commandButton для запуска действия по обновлению ArrayList (просто добавьте к нему пару объектов в качестве значения Math.random для String), а затем обновите h: panelGroup.Обновленные значения в ArrayList не отражаются в полях ввода ui: repeat.Это только влияет на поля ввода, так как поля outputText корректно обновляются.Также, если я делаю то же самое для ap: dataTable, поле ввода обновляется корректно.Если я удаляю теги Tabview и Tab, он работает нормально.
Как это работает при удалении вкладок, я могу только предположить, что это ошибка и не предназначена для такой работы.Если кто-то может, пожалуйста, подтвердите, если это так или есть жизнеспособная работа вокруг.Мне нужно использовать пользовательский интерфейс: повторите, так как мои поля не в табличном формате.Это произошло только после перехода с PF 2.2.Я в настоящее время на PF 3.1, Weblogic 10.3.4 и Mojarra 2.0.4
<p:tabView>
<p:tab title="Test">
<h:form prependId="false">
<p:commandButton id="testStringCheck"
value="Test String Check"
process="@form"
update="testPanel"
action="#{testBean.generateVOwithRandomStrings}">
</p:commandButton>
<h:panelGroup id="testPanel" layout="block">
<ui:repeat value="#{testBean.voList}" var="entry">
<h:outputText value="#{entry.randomString}"/>
<p:inputText style="display:block;"
value="#{entry.randomString}"
size="15">
</p:inputText>
</ui:repeat>
</h:panelGroup>
</h:form>
</p:tab>
</p:tabView>