В моем случае я не могу использовать event = "save" , поэтому я использую p: event event = "valueChange" .В managedBean у меня есть свойства, что он будет изменен, и владелец объекта это свойства.Я вижу, что многие люди используют event = "save" , но в моем случае это событие выдает ошибку при просмотре рендера, поэтому я использую valueChange
представление кода
<p:column>
<p:inplace id="inplaceNombre" emptyLabel="#{registro.usuario.nombre}" editor="true">
<p:inputText id="nombre" required="true"
requiredMessage="#{msg['editar.nombre.required']}"
alt="#{msg['editar.alt.nombre']}" title="#{msg['editar.title.nombre']}"
tabindex="1" value="#{registro.nombre}"
styleClass="#{component.valid ? '' : 'invalid'}" maxlength="30">
<f:validateBean for="nombre" />
<p:ajax event="valueChange" update="@this messageNombre" />
</p:inputText>
</p:inplace>
</p:column>
<p:row>
<p:column>
<p:commandButton value="#{msg['editar.value.enviar']}"
title="#{msg['editar.title.enviar']}" alt="#{msg['editar.alt.enviar']}"
actionListener="#{registro.actualizarUsuario}" tabindex="7" />
</p:column>
</p:row>
код управляемогоBean
//property that can be modified in the User
@Size(min=5 ,max=30 ,message="Este campo no es correcto: tamaño máximo [30]")
@Pattern(regexp="^[a-zA-Z]+[a-zA-Z ]+",message="Este campo no es correcto")
private String nombre;
//User get by database with f:event type=preRenderView in xhtml view
private Usuario usuario;
Затем я проверяю изменения и обновляю пользователя.
С уважением.