我将假设,这
update="form"是一个粗心的过分简化,并且您实际上打算将
render="@form"其与PrimeFaces左右使用并混淆。
回到具体的问题,这是由执行非ajax回发引起的,该回发也触发了视图参数的处理。
要么仅在非回发上使它成为必需(不过请确保该bean在视图作用域内),
<f:viewParam ... required="#{not facesContext.postback}" />或也将其通过回发
<h:commandButton ...> <f:param name="product" value="#{bean.product}" /></h:commandButton>或者如果您已经在使用视图作用域的bean,请改用OmniFaces
<o:viewParam>。它不会在回发时处理view参数。
<... xmlns:o="http://omnifaces.org/ui">...<o:viewParam ... />



