More than 1 <h:form> per view breaks W3C XHTML 1.0 Transitional (and above)
validation. The 1.2 spec calls for the use of a hidden input field with a
constant id which causes name collision on the "id" attribute if more than 1
<h:form> is used.
"An "id" is a unique identifier. Each time this attribute is used in a document
it must have a different value."
The javadocs for javax.faces.render.ResponseStateManager read:
public static final java.lang.String VIEW_STATE_PARAM
Implementations must use this value as the name and id of the client parameter
in which to save the state between requests."
That is obviously a problem if there are more than one form, and hence more than
one client parameter with this same id.
This problem is also mentioned: