次のようなフォームオブジェクトが必要です。
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つのクラスにバインドされ、新しいアップロードフィールドが追加されたときにメソッドの署名がブーストされない場合は、私は幸せです。