Details
Description
<f:param> can be added to both commandLink and commandButton, for instance in "basic":
<h:commandButton id="button1" value="Show/Hide"
actionListener="#{basic.toggle}">
</h:commandButton>
<h:commandButton id="button1param" value="Show/Hide"
actionListener="#{basic.toggle}">
<f:param name="commandparam" value="buttonparam" />
</h:commandButton>
<h:commandLink id="link1param" value="Show/Hide"
actionListener="#{basic.toggle}">
<f:param name="commandparam" value="linkparam" />
</h:commandLink>
This should still yield Ajax interaction, but a full page refresh is observed with the commandLink and commandButton with f:param.
It seems that h:form component does not accept the f:ajax facet since it throws an exception when configured so. Also looking in the JSF 2.0 spec there is no mentioning of any change in behavior of the h:form when f:ajax is present, only its included components can have their AJAX behavior changed.
Wrapping the entire h:form in <f:ajax disable="true"> facet has as effect the disabling of AJAX for all the included components. Testing this use case shows that the list of disabled components is properly sent to the client.
Considering that the spec doesn't specify any change in behavior for the h:form when configured with f:ajax facet and since the h:form does not accept the f:ajax facet anyway creating a test case that would verify h:form behavior in the presence of the facet is futile.