向结果传参数:只有redirect跳转方式才需要从action向JSP传参数,<result type="redirect">/user_add_success.jsp?t=${type}</result>
//index.jsp
向结果传参数
<ol>
<li>
<a href="user/user?type=1">传参数</a> <!-- 向action传参数 -->
</li>
</ol>
//user_add_success.jsp
User Add Success!
User Success!
from valuestack: <s:property value="t"/><br/> <!-- 取不到,因为参数不在值栈中,在context中 -->
from actioncontext: <s:property value="#parameters.t"/>
<!-- 接收来自action的参数值 -->
<s:debug></s:debug>
struts.xml
<constant name="struts.devMode" value="true" />
<package name="user" namespace="/user" extends="struts-default">
<action name="user" class="com.bjsxt.struts2.user.action.UserAction">
<result type="redirect">/user_success.jsp?t=${type}</result><!-- 向JSP参数值 -->
</action>
</package>
//action
package com.bjsxt.struts2.user.action;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
public class UserAction extends ActionSupport {
private int type; //参数变量
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
@Override
public String execute() throws Exception {
return "success";
}
}