【发布时间】:2015-02-25 09:37:10
【问题描述】:
我已将表单定义为 multipart/form-data enctype。当我按下命令按钮时,请求不会以“multipart/form-data”内容类型发送。
<h:form id="form" method="post" enctype="multipart/form-data">
<input type="file" ></input>
<p:commandButton id="save" icon="saveBt" value="#{msgs.saveBt}" ... />
</h:form>
在开发者工具控制台中,我可以看到 Content-Type 为 application/x-www-form-urlencoded;字符集=UTF-8。
我正在使用 JSF 2.1 和 Primefaces 5.1。
谢谢
【问题讨论】:
-
你可以升级 JSF 吗? “我没有使用
<p:fileUpload>,因为它不适用于 ajax 和设置为“simple”的模式属性”。这实际上是必需的 -mode="simple"始终需要ajax="false"(这是一种指定的行为)。 -
我想你建议我升级到 2.2 因为 h:inputFile。我正在使用 JBoss 7.1(随 JSF 2.1 提供),我不确定是否可以升级到 JSF 2.2
-
我也没有使用 JBoss。因此,我不确定它是否与 JSF 2.2 兼容(这毕竟取决于 Servlet 版本。JSF 2.2 至少需要 Servlet 3.0,主要是因为
<h:inputFile>)。如果 JBoss (7.1) 版本支持 Servlet 3.0,您可以升级到 JSF 2.2。 -
感谢您的想法。可能可以将 JBoss 7.1 升级到 JSF 2,2,但我不确定我正在开发的客户端是否允许升级它。
标签: jsf-2 primefaces multipartform-data enctype