我尝试用Spring MVC做一个涉及验证器的表单。
表单包含一些文件字段,但如果验证失败,我会丢失这些值。
我的模型属性包含MultipartFile
类型的对象:
private MultipartFile docFile;
private MultipartFile pictFile;
和JSP:
<input type="file" id="docFile" name="docFile" />
<input type="file" id="pictFile" name="pictFile" />
如果验证失败,有没有办法保留这些值?
答案 0 :(得分:1)
您需要ModelAttribute ...在控制器中创建ModelAttribute
@ModelAttribute("prj")
public ProjektSuche projektSearchForm() {
if (searchForm == null) {
searchForm = new ProjectSearch();
}
return searchForm;
}
并且表单具有属性modelAttribute,如:
<form:form method="get" modelAttribute="prj" action="${urlStartSearch}">
...
</form>
prj 是您从上一步中选择的名称。请求处理程序方法(相同的控制器)是这样的:
public ModelAndView startProjektSuche(@Valid @ModelAttribute("prj") ProjektSuche prjSearch, BindingResult result) {
...
}
答案 1 :(得分:0)
永远不会从代码更新多部分文件类型对象。他们必须通过用户操作的浏览按钮进行更新。