1

春に MultipartFile をアップロードしようとしています。

Springフォームタグを使用して、最終的にこのファイルをコントローラーにアップロードするファイルタイプの入力を含めたいと思います。そこでFileForm、 type のプロパティが 1 つだけの Java Bean であるクラスを作成しましたMultipartFile

私のJSPは次のよ​​うになります。

        <form:form modelAttribute="azrAgbFileForm" action="${uploadAzrAgb}" method="POST" enctype="multipart/form-data" cssClass="form-horizontal highlighted" role="form">
                <label for="uploadFile_upload_azrAgb" class="col-sm-4 control-label"><img src="<c:url value="/public/resources/images/doc.png"/>"></label>
                <form:input id="uploadFile_upload_azrAgb" path="file" type="file" cssClass="form-control" cssErrorClass="form-control error"/>
                <button type="submit" class="btn btn-primary" style="float:left; margin-top: 10px;">Upload bestand</button>
        </form:form>

そして、私のコントローラーメソッドは次のようになります:

@RequestMapping(value="/azrAgb", method={RequestMethod.GET, RequestMethod.POST})
public String uploadAzrAgb(@ModelAttribute(value="azrAgbFileForm") FileForm form, BindingResult result, Model model) {
    //doing some stuff here
}

問題は、送信をクリックすると、アップロードするファイルを選択し、JSP で入力のパスが に設定されているにもかかわらず、モデル属性azrAgbFileFormがコントローラー メソッドに存在し、そのプロパティが null であることです。file"file"

私も次のように設定しましmultipartBeanた:

<beans:bean id="multipartResolver"
        class="org.springframework.web.multipart.support.StandardServletMultipartResolver">
</beans:bean>

フォームのファイル プロパティが設定されていないのはなぜですか? これには本当にフォーム クラスが必要ですか? この場合、1 つのプロパティのみでこの Form クラスを作成せずに、Spring の Form タグを使用する方法はありますか?

要求に応じて、私の web.xml は次のように始まります。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
            http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">
    <!-- some servlet and security configurations -->
</web-app>
4

1 に答える 1

3

この小さなタグをDispatcherServletweb.xml の構成に追加したところ、機能しました。

<multipart-config />
于 2015-04-09T14:40:55.820 に答える