当表单enctype为multipart / form-data时,f:param中的参数未通过AJAX请求提交

时间:2015-06-23 11:10:35

标签: ajax jsf jsf-2 jsf-2.2 wildfly

我正在运行Wildfly 8.2,我正在使用与它捆绑的JSF版本,2.2.8-jbossorg-1。

我有以下小册子:

<h:form enctype="multipart/form-data">
    <h:commandButton value="Submit">
        <f:param name="myparam" value="true"/>
        <f:ajax execute="@this" render="@this"/>
    </h:commandButton>
</h:form>

当我按下提交按钮时,会提交几个参数,但不会提交myparam。如果我从表单中删除enctype =“multipart / form-data”,myparam = true就会被提交。

有或没有enctype =“multipart / form-data”,如果我删除f:ajax,则总是提交myparam = true。

为什么没有enctype =“multipart / form-data”工作,但没有?我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:4)

这是Mojarra的一个错误。我刚刚将其报告为issue 3968

现在,一个解决方法是将它们作为EL方法参数传递。

public void action(boolean myparam) {
    // ...
}
{{1}}