我想使用Spring MVC上傳文件。 這裏是.jsp頁面未使用POST調用Spring MVC映射方法
<form:form method="post" commandName="file" enctype="multipart/form-data">
Upload your file please:
<input type="file" name="file" />
<input type="submit" value="upload" />
<form:errors path="file" cssStyle="color: #ff0000;" />
</form:form>
在我的控制器我有GET和POST方法的形式:
@RequestMapping(method = RequestMethod.GET)
public String getForm(Model model) {
File fileModel = new File();
model.addAttribute("file", fileModel);
return "file";
}
@RequestMapping(method = RequestMethod.POST)
public String fileUploaded(Model model, @Validated File file, BindingResult result) {
String returnVal = "successFile";
logger.info("I am here!!!");
if (result.hasErrors()) {
returnVal = "file";
}else{
MultipartFile multipartFile = file.getFile();
}
return returnVal;
}
驗證只是檢查文件的大小是零:
public void validate(Object target, Errors errors) {
File imageFile = (File)target;
logger.info("entered validator");
if(imageFile.getFile().getSize()==0){
errors.rejectValue("file", "valid.file");
}
}
GET方法正常並返回文件視圖,但是控制器中的POST方法不會被調用。點擊上傳按鈕時沒有任何反應。
感謝您的回覆,但這是我的一個非常愚蠢的錯誤。我沒有在我的jsp – 2014-11-04 01:49:19