值未打印在JSP页面上

时间:2019-07-16 07:06:27

标签: spring-mvc

model.addAttribute("error",ErrorMessages.USERLOGINERROR);

在使用重定向时不起作用

return "redirect:/userlogin";

我在Google上找到了它,但找不到合适的答案

if(name.equals("false")){
System.out.println(ErrorMessages.USERLOGINERROR);
model.addAttribute("error",ErrorMessages.USERLOGINERROR);
return "redirect:/getuserloginpage";
}

JSP:

<form:form action="userlogin" method="post" commandname="login">
<div align="center" style="color: red">${error}</div>
<div align="center" style="color: red">${thanks}</div>
...

预期结果应为:

  

请检查您的电子邮件或密码。实际结果:什么也没印刷。   (未发现错误或异常)

2 个答案:

答案 0 :(得分:0)

普通模型属性不适用于重定向。

请改用重定向属性,如下所示。

@RequestMapping(value="/someURL", method=GET)
public String yourMethod(RedirectAttributes redirectAttributes)
{
   ...
   redirectAttributes.addAttribute("rd", "rdValue");
   redirectAttributes.addFlashAttribute("fa", faValue);
   return "redirect:/someOtherURL";
}

答案 1 :(得分:0)

做一件事,您正在使用

return "redirect:/userlogin";

这意味着您拥有

@RequestMapping(value="/userlogin", method=GET)
public String yourMethod(Model model)
{
 your code.....
 return some_page_name;// from tiles.xml or directly as per you configuration
}

now use the same return

if(name.equals("false")){
System.out.println(ErrorMessages.USERLOGINERROR);
model.addAttribute("error",ErrorMessages.USERLOGINERROR);
//return "redirect:/getuserloginpage";
return some_page_name;  // simple and easy but take care of functionality
}