该
viewParam
是UIComponent
。这意味着它在语义上与a<h:commandButton/>
或a 没有区别,<h:inputText/>
并且有责任遍历每个指定的JSF请求处理生命周期阶段,直至并包括验证和转换。实际上,标签本身会使任何给定的视图进入任何给定页面的完整处理,该
<p:commandButton/>
会做一个 回发 ,这意味着,这将是重新请求相同的观点,使用POST。因此,要解决您当前的问题,您需要根据这一事实确定所需的条件:<f:viewParam required="#{!facesContext.postback}" name="id_file" value="{bean.idFile}"/>
从新条件中得到的是,仅在首次请求时才需要该参数。随后的回发将不会触发该条件。只需确定您没有任何逻辑即可(也许是基于
@PostConstruct这种期望而建立的



