Most of the spring tutorials and examples show you how to get the message from the resource file and how to show it in your view (jsp), but not how you should handle those messages in your controller and between views.
Here is an example of how im doing it now where I have a view/controller that handles forgotten passwords. When the password is sent I redirect back to the login screen with a message that "your password is sent ..."
@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";
}
Finaly I display the message in my view, in this case a freemarker template
<#if (ok_forgottenpassword?exists)>
<div class="alert alert-success"><@spring.message "${ok_forgottenpassword}" /></div>
</#if>
Is this the best way of doing it in a Spring framework? It's simple with just 1 type of message, but what if I need 5?