Jsf f:param在p:fileDownload中不工作

Jsf f:param在p:fileDownload中不工作,jsf,primefaces,Jsf,Primefaces,我使用以下代码使自定义验证器在某些按钮按下时跳过验证: <p:commandButton ... value="Don't Validate"> <f:param name="triggerValidation" value="false"/> </p:commandButton> 如果您能深入了解为什么会发生这种情况,我们将不胜感激 即使p:commandButton包含p:fileDownload,参数仍必须位于p:commandButton上,

我使用以下代码使自定义验证器在某些按钮按下时跳过验证:

<p:commandButton ... value="Don't Validate">
    <f:param name="triggerValidation" value="false"/>
</p:commandButton>

如果您能深入了解为什么会发生这种情况,我们将不胜感激

即使
p:commandButton
包含
p:fileDownload
,参数仍必须位于
p:commandButton
上,而不是
p:fileDownload

<p:commandButton ... value="Don't Validate">
    <f:param name="triggerValidation" value="false"/>

    <p:fileDownload value="#{someWebBean.download()}" />
</p:commandButton>

另请参见。

首先,
只能应用于
UIComponent
的子级<代码>是一个标记处理程序。您现在尝试执行的操作类似于尝试将
附加到
上。
Object o = ((HttpServletRequest) context.getExternalContext().getRequest()).getParameter("triggerValidation");
<p:commandButton ... value="Don't Validate">
    <f:param name="triggerValidation" value="false"/>

    <p:fileDownload value="#{someWebBean.download()}" />
</p:commandButton>