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 に答える