Я не использую Primefaces, но Richfaces в моих проектах. Так что я не совсем осведомлен о том, как процесс обновления выполняется Primefaces. Однако у меня есть идея, которую легко проверить.
Ваша проблема может быть связана с тем, что компонент для повторного рендеринга (т.е. update ) не найден на странице HTML. Если ваш атрибут rendered
равен false
, то <SPAN>
с идентификатором comment
будет , а не , встроенным в созданную HTML-страницу. Таким образом, когда запрос Ajax получен на стороне клиента, механизм Ajax не может обновить этот <SPAN>
, поскольку он не найден.
Итак, вы можете всегда визуализировать panelGroup
и переместить атрибут rendered
во вложенный <h:outputText>
, содержащий сообщение Hello .
Вот что я предлагаю:
<h:panelGroup id="comment">
<h:outputText value="Hello" rendered="#{bean.renderComment}"/>
</h:panelGroup>
Таким образом, группа Panel всегда будет обновляться после вызова Ajax и будет содержать сообщение Hello или нет, относительно значения атрибута renderComment
вашего компонента.