Я новичок в весне, и в настоящее время я борюсь со многими частями, необходимыми для получения сценария отправки / проверки составной формы с отображением ошибок в представлении.
Вот файлы, которые у меня сейчас есть:
resourceupload.jsp: представление, отображающее форму для загрузки файла.
<form:form method="post" action="resource/upload" enctype="mutlipart/form-data">
<input name="name" type="text"/>
<input name="file" type="file" />
<input type="submit"/>
<form:errors path="file" cssClass="errors"/>
</form>
resourceuploadcontroller.java: контроллер, который обрабатывает отправку формы и (безуспешно) пытается отправить ошибки проверки файла обратно в представление:
@RequestMapping(method = RequestMethod.POST)
public String handleFormUpload( @RequestParam("file") MultipartFile file , @RequestParam("name") String name,Object command, Errors validationErrors){
..perform some stuff with the file content, checking things in the database, etc...
.. calling validationErrors.reject("file","the error") everytime something goes wrong...
return "redirect:upload"; // redirect to the form, that should display the error messages
Теперь, очевидно, что-то не так с этим подходом:
1 / Мне пришлось добавить фиктивный объект "command" перед параметром validationErrors, иначе spring выдаст мне ошибку. Это не совсем верно.
2 / После того, как я добавил этот параметр, редирект не передает ошибки представлению. Я попытался использовать @SessionAttribute ("file") при запуске контроллера, но безуспешно.
Если кто-нибудь может помочь ... Я посмотрел аннотацию @ResponseBody, но, похоже, она не предназначена для использования с представлениями ..