Edited form values do not get submitted on an Ajax enabled commandButton unless they are explicity named in the execute
attribute. Try adding this:
<h:commandButton value="Change" >
<f:ajax execute="@form" render="@form" listener="#{editClientBean.edit}" />
</h:commandButton>
The @form
is a reserved keyword in the execute
and render
properties to instruct an Ajax form submission to include the form naming container and all children within that form. You are specifying to submit all form values to be applied to the model and then in the render
attribute you are instructing to re render all of the form elements after server side processing.