2
現在、初期フォームページからアップロードされたファイルを処理するSpring MVCサーブレットがあります。検証エラーとしてのSpring MVC例外の処理
リクエストハンドラは、特定の要件が不足している場合、すでにファイルに対していくつかの検証を実行していますが、残念ながら、処理が実際に行われるまですべての要件が満たされているかどうかは簡単に分かりません。
@RequestMapping(path = "/", method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public String submit(@Valid FormData form, BindingResult result, Model model) throws IOException, ParseException
{
if (result.hasErrors())
{
return "index";
}
processFile(form.getFile());
return "success";
}
例外処理工程で発生した場合、私は@ExceptionHandler
注釈付きの方法でそれを処理します。しかし、この方法では、JSPページにエラーを示すための第二のラインを持つ必要があります。
<form:input type="file" name="file" path="file" value=""/>
<form:errors path="file" element="label" class="error" for="file"/>
<c:if test="${not empty error}"><label class="error">${error}</label></c:if>
方法自体は
@ExceptionHandler(Exception.class)
public String databaseError(Model model, Exception e)
{
model.addAttribute("formData", new FormData());
model.addAttribute("error", "File failed to process. Please verify the contents of the file.");
return "index";
}
のように見えるとのように例外を処理するためにBindingResult
を活用する方法はあります冗長なエラーメッセージテンプレートを避けるための検証エラー?
あなたは知っている、私はちょうど私の思考からそのアイデアを完全に却下した。 'DataAccessException'をキャッチするときに気にするべきことはありますか?私はどこか読んで覚えておいてはいけないものであることを覚えています。それは私がそれについて前に考えなかった理由です。 – Aetylus