Struts2 带参数的结果集

Redirect

一次request建立一个值栈(ValueStack)。
1.当时服务端跳转时,客户端发送请求,服务器找到UserAction,建立一个值栈记录传入的参数,服务端发现result是dispatcher方式,然后跳转到另一个action,可以将数据直接从值栈中取出。
2.当客户端跳转时,客户端发送请求,服务端找到UserAction,建立一个值栈,将参数保存到值栈中,服务端发现result是redirect方式,发送信息到客户端。客户端重新出request请求到需要跳转的action,同时新建立一个值栈。新建的值栈中没有任何数据,需要跳转的action不能从中取值。问题出现了!!!
在这里插入图片描述

客户端跳转获取参数方法

1.发现请求是redirect

${} 表达式获取值栈的参数。

<package name="user" extends="struts-default" namespace="/user">
	 
	 	<action name="user" class="com.struts2.user.action.UserAction">
	 	//跳转的action用t保存type参数。
	 		<result type="redirect">/user_success.jsp?t=${type}</result>
	 	</action>
	 
	 </package>

2.传入的参数值

type值为1

<a href="user/user?type=1">传参数</a>

3.重定向界面获取参数

从ActionContext的parameters属性中获取传入参数的值。

from actioncontext:<s:property value="#parameters.t"/>
发布了47 篇原创文章 · 获赞 5 · 访问量 2031

猜你喜欢

转载自blog.csdn.net/OVO_LQ_Start/article/details/104175224