春のチュートリアルと例のほとんどは、リソースファイルからメッセージを取得する方法と、ビュー(jsp)にメッセージを表示する方法を示していますが、コントローラー内およびビュー間でこれらのメッセージを処理する方法は示していません。
これは、忘れたパスワードを処理するビュー/コントローラーがある場合に、これをどのように実行するかの例です。パスワードが送信されると、「パスワードが送信されました...」というメッセージとともにログイン画面にリダイレクトされます。
@RequestMapping(value="/forgottenpassword")
public String forgottenpassword(@RequestParam String email) {
....something something
if(email != null){
return "redirect:/login?forgottenpassword=ok";
}
}
@RequestMapping(value="/login")
public String login(HttpServletRequest request) {
if(request.getParameter("forgottenpassword") != null && request.getParameter("forgottenpassword").equals("ok")) {
data.put("ok_forgottenpassword", "forgottenpassword.ok");
}
return "login";
}
最後に、メッセージをビューに表示します。この場合は、フリーマーカーテンプレートです。
<#if (ok_forgottenpassword?exists)>
<div class="alert alert-success"><@spring.message "${ok_forgottenpassword}" /></div>
</#if>
これはSpringフレームワークでそれを行うための最良の方法ですか?1種類のメッセージだけで簡単ですが、5種類必要な場合はどうなりますか?