2012-04-05 14 views
2

我想有形式對象是這樣的:如何將上傳的文件綁定到表單對象屬性?

public class FormData { 

    private MultipartFile file1; 

    private MultipartFile file2; 

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

,我希望向用SpringMVC例如結合<input type="file" name="file1"> HTML表單字段添加到我的表單對象屬性。我還沒有在spring-form.tld中找到任何JSP標籤(如<form:file path="file1" /><form:input type="file" path="file1" />)。它有可能嗎?如果不是的話,這個限制在Spring內部根深蒂固,不能輕易克服?

我知道如何上傳文件的形式值綁定到控制器的方法參數(在documentation描述):

@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

幾年前,我做了這件事。我記得的唯一區別是我用CommonsMultipartFile而不是一個接口。如果你嘗試這樣會發生什麼,它會拋出一個異常,或者簡單地說,值不會被綁定?

+0

爲什麼你沒有使用'org.springframework.web.multipart.MultipartFile'接口更通用? – 2012-05-14 09:34:22

+0

我不記得原因,也許它沒有意義。你試過了嗎?怎麼了? – sinuhepop 2012-05-14 11:10:33

+0

謝謝,它看起來有約束力 – 2012-05-14 12:46:14

相關問題