我在使用多部分表单时遇到问题。我已经在TomEE 1.6上启动了我的项目,它带有以下JSF实现:
myfaces-api-2.1.13
myfaces-impl-2.1.13
我读到可以在TomEE上升级JSF,所以我将这两个替换为:
myfaces-api-2.2.0
myfaces-impl-2.2.0
不幸的是,多部分表格不起作用。当我使用一个简单的表单时,Save按钮正确地进入bean目标方法。只要我将enctype="multipart/form-data"
添加到表单标记,“保存”按钮就不再有效。请求将发送到服务器,但不会调用目标方法。这基本上会导致表单刷新,所有数据都会丢失。
我的脸部配置
<faces-config xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"
version="2.2">
我的代码
<h:form id="form" enctype="multipart/form-data">
<h:commandButton value="#{messages['common.buttonLabel.save']}" action="#{fileEditBean.save}" rendered="#{fileEditBean.hasSaveAction()}" />