【web开发学习笔记】Structs2 Result学习笔记(三)带參数的结果集

Result学习笔记(三)带參数的结果集

第一部分:代码

//前端
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030" />
	<title>Insert title here</title>
</head>
	<body>
	<ol>
		<li><a href="user/user?type=1">传參数</a></li>
	</ol>		
	</body>
</html>

//web.xml
<struts>
    <constant name="struts.devMode" value="true" />
    <package name="user" namespace="/user" extends="struts-default">
    	
	    <action name="user" class="com.struts2.user.action.UserAction">
	    	<result type="redirect">/user_success.jsp?t=${type}</result>
	    </action>	    
    </package>    	
</struts>
//类包
package com.struts2.user.action;
import com.opensymphony.xwork2.ActionSupport;
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";
	}
}

//展示
</head>
	<body>
		User Success!
		from valuestack: <s:property value="t"/><br/>
		from actioncontext: <s:property value="#parameters.t"/>
		<s:debug></s:debug>
	</body>
</html>

第二部分:分析

1.<li><a href="user/user?type=1">传參数</a></li>,链接訪问user命名空间里面的user action,并对action传递參数type = 1;
2.<package name="user" namespace="/user" extends="struts-default">
	  <action name="user" class="com.struts2.user.action.UserAction">
		    <result type="redirect">/user_success.jsp?t=${type}</result>
	  </action>	    
  </package> 
  <result type="redirect">/user_success.jsp?t=${type}</result>
  目的:
    跟据配置文件构造user action对象,并进行设置參数。由client发出请求后,由web.xml的配置文件构造UserAction对象时,请求中出传递的数值会传递到构造的对象中。注意:一次request仅仅有一个值栈.
    result要求<result type="redirect">/user_success.jsp?t=${type}</result>,要求重定向到到user_success.jsp,并要求去除
action中的type值。当中type="redirect"表示是client跳转,

3.from valuestack: <s:property value="t"/><br/>				//从值栈取值
  from actioncontext: <s:property value="#parameters.t"/>	<span style="white-space:pre">	</span>//从actioncontext取值




原文地址:https://www.cnblogs.com/lcchuguo/p/4492056.html