SpringMVC中重定向model值的获取
1)
1)步骤一:在控制器中编写
/*重定向测试*/
@RequestMapping("/m1/t2")
public String test1(Model model, String message) {
message = "222";
model.addAttribute("msg", message);
return "redirect:/r1";
}
2)编写对应跳转
@RequestMapping("/r1")
public String test2(Model model, String msg) {
model.addAttribute("msg", msg);
return "success";
}
这里的return “success”;是跳转到自己编写的视图解析器规则下的success.jsp页面
3)测试:在浏览器访问自己项目下的对应控制器
http://localhost:8080/mvc_04/m1/t2
mvc_04是我自己的项目模块名,m1/t2是上面创建的拦截
4)然后浏览器跳转
http://localhost:8080/mvc_04/r1?msg=222
成功获取到重定向传入的参数,
问题思考:
如果跳转到主页,那model的参数怎么获取呢,如上我跳转的是ViewResolver拼接而成的success.jsp页面,
这时候需要使用RedirectAttributes参数
/*重定向测试2*/
@RequestMapping("/r2")
public String test3(Model model, RedirectAttributes rettr) {
rettr.addAttribute("msg", "redirect");
return "redirect:/index.jsp";
}
注意:index.jsp中参数的获取不能直接 ${msg}
而是得使用 ${param.msg}
参考文章:
https://blog.csdn.net/weixin_39973810/article/details/84847922
https://blog.csdn.net/itcast_cn/article/details/87606274