java - 使用SpringMVC视图转发的一个问题
迷茫
迷茫 2017-04-17 13:58:12
[Java讨论组]
@Controller
@RequestMapping("/user")
public class UserAction {
    @Autowired
    private UserService2 userService;

    @RequestMapping("/login")
    public ModelAndView login(HttpServletRequest request,HttpServletResponse response) {
        ModelAndView mv = new ModelAndView();
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        User user = userService.getUser(username, password);
        HttpSession session = request.getSession();
        session.setAttribute("user", user);
        mv.setViewName("/main");
        return mv;
    }
}

请求login,能返回main.jsp页面的响应内容:

但是却不能跳转到main.jsp页面。
这是怎么回事呢?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(1)
阿神

ModelAndView 不是很熟悉,都用 Map, 还有,我对重定向和转发一直分不清楚,我就知道,如果要跳转页面就用 return "redirect:/login/"; 如果是在页面上显示数据就用 return "main"; 也就是用 main 模板

java@Controller
@RequestMapping("/user")
public class UserAction {
    @Autowired
    private UserService2 userService;

    @RequestMapping("/login")
    public String login(Map<String, Object> map, HttpServletRequest request,HttpServletResponse response) {

        String username = request.getParameter("username");
        String password = request.getParameter("password");
        User user = userService.getUser(username, password);
        HttpSession session = request.getSession();
        session.setAttribute("user", user);

        // 这个是跳转到 `/login/` 页面
        // return "redirect:/login/";

        // 这个是用 `main` 模板
        return "main";
    }
}

还有,一般会把账号密码放在参数里面传过来, 这个里面 Map 应该就没用

java@Controller
@RequestMapping("/user")
public class UserAction {
    @Autowired
    private UserService2 userService;

    @RequestMapping("/login")
    public String login(@RequestParam("username") String username, @RequestParam("password") String password, Map<String, Object> map, HttpSession session) {

        User user = userService.getUser(username, password);

        session.setAttribute("user", user);

        // return "redirect:/login/";

        return "main";
    }
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号