如何从使用Spring MVC实现的Controller将错误传递给视图文件?这些错误不是表单错误。只是将在“JSP”视图中的div内显示的业务逻辑错误。
以下是我的控制器操作:
@RequestMapping(method = RequestMethod.POST)
public String processLoginForm(HttpServletRequest request, LoginForm loginForm,
BindingResult result, @SuppressWarnings("rawtypes") Map model)
{
loginForm = (LoginForm) model.get("loginForm");
String gotoURL = request.getParameter("gotoURL");
if (gotoURL == null || gotoURL == "")
{
String errorMessage = "No Redirect URL Specified";
return "loginerror";//loginerror is the view file I want to pass my error to.
}
model.put("loginForm", loginForm);
return "loginsuccess";
}
谢谢,
答案 0 :(得分:6)
更改您的方法签名:
public String processLoginForm(HttpServletRequest request, LoginForm loginForm,
BindingResult result, ModelMap model)
您可以将错误消息放在ModelMap
中,然后将其转发到 loginerror 页面。
if (gotoURL == null || "".equals(gotoURL))
{
final String errorMessage = "No Redirect URL Specified";
modelMap.addAttribute("errorMessage ", errorMessage);
return "loginerror";//loginerror is the view file I want to pass my error to.
}
您可以使用EL在div
中获取该内容。
<div>${errorMessage}</div>
答案 1 :(得分:2)
你的方法是
public String processLoginForm(HttpServletRequest request,LoginForm loginForm,BindingResult结果,@ SuppressWarnings(“rawtypes”)Map 模型)
New The Idiot解释的方法是
public String processLoginForm(HttpServletRequest request,LoginForm 登录表格, BindingResult结果,ModelMap模型)
看到Map模型被ModelMap模型替换
如果使用此方法,则可以使用model.addAttribute添加错误消息
答案 2 :(得分:1)