我需要验证数据库中的凭据,因此我编写了一个逻辑来检查给定的详细信息,该代码正常工作,但它返回并打印字符串值而不是返回JSP。
请求大家帮忙,检查这里有什么问题。
代码:
@RequestMapping(value="/adminvalidate")
public @ResponseBody String validateAdmin(@RequestParam(value="userid",required=true) String userid, @RequestParam(value="password",required=true) String password) {
String result = loginser.validate(userid, password);
if (result.equals("pass")) {
return "redirect:admin/view";
}
return "error";
}
答案 0 :(得分:1)
正如Piotr Podraza所传达的那样,通过移除@ResponseBody,您的代码应该有效。
如果使用@ResponseBody注释方法,spring将尝试转换其返回值并自动将其写入http响应。
因此,要么返回一个字符串并重定向到jsp,要么使用ResponseBody并返回您想要显示的内容。
答案 1 :(得分:0)
删除@ResponseBody并特定使用ModelAndView传递视图
@RequestMapping(value="/adminvalidate")
public ModelAndView validateAdmin(@RequestParam(value="userid",required=true) String userid, @RequestParam(value="password",required=true) String password) {
String result = loginser.validate(userid, password);
if (result.equals("pass")) {
return new ModelAndView("redirect:admin/view");
}
return new ModelAndView("error");
}