不从Spring Controller返回JSP

时间:2018-04-02 10:28:10

标签: java jsp spring-mvc

我需要验证数据库中的凭据,因此我编写了一个逻辑来检查给定的详细信息,该代码正常工作,但它返回并打印字符串值而不是返回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";
        }

2 个答案:

答案 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");
}