【发布时间】:2021-10-04 05:05:27
【问题描述】:
我在 Java 应用程序 (Java 8) 上使用 Primefaces 6,它在 JBoss EAP 7.0 (Java 8) 上运行没有任何问题。
当我在 JBoss EAP 7.3.7(在 Java 11 上运行)上部署完全相同的战争时,fileUpload 似乎不再工作,并且根本没有触发 fileUploadListener。相反,在
Javascript/HTTP、Jboss 和应用程序日志不显示任何类型的错误。应用程序的其余部分似乎运行良好。
<p:fileUpload id="templateUpload"
fileUploadListener="#{myHandler.uploadFile}" mode="advanced" dragDropSupport="true"
update=":myForm:fileTable @this"
skinSimple="true" label="Label1" cancelLabel="Label2"
uploadLabel="Label3" sizeLimit="500000" allowTypes="/(\.|\/)(pdf)$/" fileLimit="1"
invalidSizeMessage="Label4"
invalidFileMessage="Label5"
fileLimitMessage="Label6"
/>
处理程序是用@ManagedBean 和@ViewScoped 定义的,而我的方法如下所示:
public void uploadFile(final FileUploadEvent event)
还有我的 HTTP Post 请求,似乎包含文件并发送为
Content-Type: multipart/form-data;
Accept-Encoding: gzip, deflate
Accept: application/xml, text/xml, */*; q=0.01
我看到的主要变化是 JSF 版本(JBoss 7.3.7 上的 2.2 到 2.3)。很可能我的问题就在那里。
【问题讨论】:
-
您使用的是 Commons FileUpload 还是 JSF 2.3 原生上传和 PF?它可能是 Commons Filepload 的问题,您可以尝试本地上传,因为您使用的是具有 JSF 2.3 的 Jboss 7.3
-
我正在使用提供的 jboss-jsf-api_2.3_spec 依赖项。我看到 Primefaces 和 JSF 2.3 的旧版本报告了许多问题。我会尝试将 PF 升级到最新版本,看看问题是否仍然存在。
标签: jsf primefaces jboss