在我们的代码中,我们使用了Primefaces的fileUpload组件,它工作得很好。升级Jetty之后,它就停止工作了。在Jetty升级期间,该组件保持不变。
<p:outputPanel id="fileImport" class="file-import">
<h:outputText id="import-text" style="display:block;" styleClass="bold" value="#{guiMsgBundle['importDialog.file']}" />
<h:form id="import-form" style="display: block;" enctype="multipart/form-data">
<p:fileUpload id="importFileButton"
widgetVar="#{cc.attrs.dialogWidgetVar}-importFileWidgetVar"
label="#{guiMsgBundle['importDialog.choose']}"
mode="advanced"
skinSimple="true"
fileLimit="2"
listener="#{cc.attrs.controller[controllerFct]}"
update="#{cc.attrs.updateDown} :#{cc.bindingsMap['script'].clientId}"
oncomplete="nextDialog()"
allowTypes="#{allowTypes}" />
</h:form>
<div class="buttons">
<p:commandButton id="importCancel" class="secondary-button import-cancel" value="#{guiMsgBundle['dialogActions.cancel']}"
oncomplete="PF('#{cc.attrs.dialogWidgetVar}').hide();" update="@none" partialSubmit="true" process="@none" />
</div>
</p:outputPanel>当使用Jetty9.4.42.v20210604时,效果很好。升级到Jetty10.0.7之后,fileUpload上的侦听器停止了调用。当单击upload按钮时,oncomplete上的nextDialog()仍然会被调用。问题不在于控制器函数本身,因为它一开始就无法达到。出于测试目的,它被替换为一个简单的JavaScript函数,该函数只将测试消息记录到控制台,但从未被调用。
我们正在使用Primefaces 8.0.7
没有产生错误消息。无论是在浏览器控制台还是在码头日志中。
目标是在按下“上传”按钮时再次触发侦听器。
任何帮助都将不胜感激。
编辑:升级到10.0.8没有什么区别。
发布于 2022-02-28 14:50:38
已解决:
我们在web.xml/web.xml中缺少了一个多部分配置。
<multipart-config>
<location/>
<max-file-size>2147483646</max-file-size>
<max-request-size>2147483646</max-request-size>
<file-size-threshold>2147483647</file-size-threshold>
</multipart-config>https://stackoverflow.com/questions/71064260
复制相似问题