Whenever an UICommand component fails to invoke the associated action method or an UIInput element fails to update the model value, then verify the following:
-
UICommand and UIInput components must be placed inside an UIForm component, e.g. <h:form>.
-
You cannot nest multiple UIForm components in each other. This is namely illegal in HTML. Watch out with include files!
-
No UIInput value validation/conversion error should have been occurred. You can use <h:messages> to show any messages which are not shown by any input-specific <h:message> components. Don't forget to include the id of <h:messages> in the <f:ajax render>, if any, so that it will be updated as well on ajax requests.
-
If UICommand or UIInput components are placed inside an iterating component like , , etc, then you need to ensure that exactly the same value of the component is been preserved during the apply request values phase of the form submit request. JSF will namely reiterate over it to find the clicked l