В общем случае p:tab
не может быть обновлено, поскольку тот, кто отображает p:tab
, является родительским компонентом. Вероятно, p:accordionPanel
или p:tabView
.
Поэтому можно либо переместить p:autoUpdate
в родительский компонент, либо переместить его внутрь h:outputText
.
ПРИМЕЧАНИЕ: вам, вероятно, нужно добавить идентификатор к h:outputText
, так как только компоненты с отображаемым id
являются обновляемыми и h:outputText
scipts отображает атрибут id
, если атрибут id
не установлен явно.
Его также можно решить, обернув его p:outputPanel
:
<p:tab title="Further details" rendered="#{balanceController.showDetails()}">
<p:outputPanel>
<p:autoUpdate/>
#{balanceController.details}
</p:outputPanel>
</p:tab>
Я удалил h:outputText
по соображениям производительности. ИМО не следует использовать h:outputText
для простого текста (escape
не установлен на false
), так как это создает UICompoment
на стороне сервера, что не требуется.