jsf - welcome - primefaces pdf
JSF+PrimeFaces: el atributo `update` no actualiza el componente (1)
El atributo de update
debe apuntar a una ID de cliente existente en el árbol HTML DOM. Sin embargo, dado que el elemento no está disponible en el árbol HTML DOM porque no está representado por el lado del servidor, JS / ajax no puede encontrar nada en el árbol HTML DOM para actualizar.
De hecho, debe envolverlo en otro elemento que esté siempre disponible en el árbol HTML DOM para que Ajax pueda ubicarlo y luego usar su ID de cliente en la update
. En tu caso, puedes usar padding
para esto.
<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>
Aquí está mi diseño
<div id="mainPanel">
<div id="padding">
<h:outputText id="text" value="Personal Feed" rendered="#{Profile.renderComment}"/>
</div>
<div id="right">
<h:form>
<p:commandButton value="Update" actionListener="#{bean.toggleComment}" update="text" />
</h:form>
</div>
</div>
Cuando hago clic en el enlace Update
, que se supone que renderComment
y desactiva el renderComment
boolean, no alternará la visualización del texto Personal Feed
. Ahora si pongo un formulario alrededor de h:outputText
, y update
el form
, entonces funciona. ¿Porqué es eso?