3

我尝试使用 Spring MVC 制作一个涉及验证器的表单。

该表单包含一些文件字段,但如果验证失败,我会丢失这些值。

我的模型属性包含类型的对象MultipartFile

private MultipartFile docFile;
private MultipartFile pictFile;

和 JSP:

<input type="file" id="docFile" name="docFile" />
<input type="file" id="pictFile" name="pictFile" />

如果验证失败,有什么方法可以保留这些值?

4

2 回答 2

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) {
    ...
}
于 2012-05-09T10:52:43.910 回答
0

多部分文件类型对象永远不会从代码中更新。它们只能通过用户操作的浏览按钮进行更新。

于 2012-05-25T17:11:51.360 回答