在springmvc中使用request向页面传值,是否不能向重定向传值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在springmvc中使用request向页面传值,是否不能向重定向传值相关的知识,希望对你有一定的参考价值。

request的作用范围是一次请求结束,重定向是重新发送一次请求,两次的request都不一样了,要在request设置参数并传递到下一个页面的话要用请求转发。或者将参数设置在作用域更大的session里面。 参考技术A 问出这个问题,就说明你知道request域在重定向时将会销毁清空重置,所以request是不可行的,那么自然就使用session域了!

jsp中页面间使用request传值:

页面1:<a href="delGM.jsp?id=<%=s.getMidid() %>">删除</a>,还有一句:request.setAttribute("groupid",id);转向页面2.页面2接受代码是: int id=Integer.parseInt(request.getParameter("id"));
int Gid=Integer.parseInt(request.getAttribute("groupid").toString());问题是:为么得不到Gid的值呢??在线等……

getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。
我的意思是,在纯粹的jsp页面跳转(没有经过servlet),则setAttribute()、getAttribute()方法不会起作用,因此Gid也就获取不到值,建议页面传递参数用get或者post形式。

换句话说,setAttribute()、getAttribute()只会在servlet或者action类或者继承了httpserlvet类里才会起作用,毕竟设置的是对象,而不是页面的参数。
参考技术A request.getsesion.getAtrrubute("groupid")试试看把追问

我知道可以写session……不用session就不能传了么……

追答

Atrrubute是session 中的一种属性 !你在setAtrrubute的时候就是set到session中去的,你取值的时候自然也就要先getSession了,然后在getAtrrubute了

以上是关于在springmvc中使用request向页面传值,是否不能向重定向传值的主要内容,如果未能解决你的问题,请参考以下文章

SpringMVC四种响应传值的方式

重定向传值

前台向后台传值乱码的解决!

jsp不用表单怎么向servlet传值?

struts2 的action 怎么向页面传值?

java web后台向前台传值的有几种方法?