Ответ 1
Атрибут update
должен указывать на существующий идентификатор клиента в дереве HTML DOM. Однако, поскольку элемент не доступен в дереве HTML DOM, поскольку он не отображается на стороне сервера, JS/ajax не может найти ничего в дереве HTML DOM для обновления.
Фактически, вы должны перенести его в другой элемент, который всегда доступен в дереве HTML DOM, чтобы Ajax мог его найти, а затем использовать его идентификатор клиента в update
. В вашем случае вы можете использовать padding
для этого.
<div id="mainPanel">
<h:panelGroup id="padding" layout="block">
<h:outputText id="text" value="Personal Feed" rendered="#{Profile.renderComment}"/>
</h:panelGroup>
<div id="right">
<h:form>
<p:commandButton value="Update" actionListener="#{bean.toggleComment}" update=":padding" />
</h:form>
</div>
</div>