2

次のようなフォームオブジェクトが必要です。

public class FormData {

    private MultipartFile file1;

    private MultipartFile file2;

    // setters/getters for above fields and other properties
}

<input type="file" name="file1">また、SpringMVCで、たとえばHTMLフォームフィールドをフォームオブジェクトプロパティにバインドしたいと思います。<form:file path="file1" />そのためのJSPタグ(またはのような<form:input type="file" path="file1" />)が。に見つかりませんでしたspring-form.tld。それは可能ですか?そうでない場合、この制限はSpringの内部に深く根ざしており、簡単に克服することはできませんか?

ファイルアップロードフォームの値をコントローラーメソッドの引数にバインドする方法を知っています(ドキュメントで説明されています):

@RequestMapping(value = {"/"}, method = RequestMethod.POST)
public ModelAndView compare(@ModelAttribute(FORM_BEAN_NAME) FormData formData,
    @RequestParam("file1") MultipartFile file1,
    @RequestParam("file2") MultipartFile file2,
    BindingResult bindingResult) {

しかし、すべてのHTMLフォーム要素が1つのクラスにバインドされ、新しいアップロードフィールドが追加されたときにメソッドの署名がブーストされない場合は、私は幸せです。

4

1 に答える 1

1

私はまさにこれを数年前に行いました。私が覚えている唯一の違いCommonsMultipartFileは、インターフェースの代わりに使用したことです。これを試してみると、例外がスローされたり、単に値がバインドされなかったりするとどうなりますか?

于 2012-05-13T13:23:01.847 に答える