Spring MVC controller中,使用redirect重定向后却无法传递session的属性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring MVC controller中,使用redirect重定向后却无法传递session的属性相关的知识,希望对你有一定的参考价值。
@RequestMapping(params="method=reg5")
public String reg5 (HttpServletRequest req)
System.out.println("测试转发和重定向");
req.setAttribute("r", "value of request");
req.getSession().setAttribute("s", "value of s in session");
// return "forward:index.jsp";//使用forward后,当然可以传递session,因为是服务器跳转。
return "redirect:index.jsp"; //使用redirect后,应该是客户端跳转,可以传递session属性,但是没有被传递过去,奇怪了
使用redirect后,是客户端跳转,按理说,不能传递request,可以传递session属性,但是session没有被传递过去,奇怪了
可以肯定,无论何种提交,session中的参数是一定可以传的,如果你看不到,那只是你看不到而已,是别的地方写错了,不是redirect的问题!
信我,一定是别的地方错了。 参考技术A 重定向是不能传递参数的 参考技术B 重定向:以前的request中存放的变量全部失效,并进入一个新的request作用域。
转发:以前的request中存放的变量不会失效,就像把两个页面拼到了一起。本回答被提问者和网友采纳
spring mvc 中quartz 怎么去定时调用controller
参考技术A 如果是方法的话,能不能调用还真不知道,没有尝试过。如果是控制器,可以肯定是不能直接调用的,只能跳转。
如果你需要掉的是方法,请抽离出来,不要放在Controller里面,因为这不符合MVC设计的理念。
如果可以,不是线程安全的。
以上是关于Spring MVC controller中,使用redirect重定向后却无法传递session的属性的主要内容,如果未能解决你的问题,请参考以下文章
在 Spring Boot App 中使用 Jquery 和 FormData 提交表单字段并上传 File 到 Spring MVC Controller
在实现接口的控制器上使用 @Controller 的 Spring-MVC 问题