Whenever an UICommand
component fails to invoke the associated action, verify the following:
UICommand
components must be placed inside an UIForm
component (e.g. h:form
).
- You cannot nest multiple
UIForm
components in each other (watch out with include files!).
- No validation/conversion error should have been occurred (use
h:messages
to get them all).
- If
UICommand
components are placed inside an UIData
component, ensure that exactly the same DataModel
(the object behind the UIData
's value
attribute) is preserved.
- The
rendered
and disabled
attributes of the component and all of the parent components should not evaluate to false
during apply request values phase.
- Be sure that no
PhaseListener
or any EventListener
in the request-response chain has changed the JSF lifecycle to skip the invoke action phase.
- Be sure that no
Filter
or Servlet
in the same request-response chain has blocked the request fo the FacesServlet
somehow.
My bet that your problem is caused by point 2: nested forms. You probably already have a h:form
in the parent page which wraps the include file. The include file itself should not have a h:form
. You can also fix it the other way round, ensure that the parent page does not have a h:form
around the place of the include file.