初识Struts2_关于Result
一、配置文件
1 <!-- 2 访问的url: 3 localhost:8080/Struts2_ResultType/usershow 4 localhost:8080/Struts2_ResultType/useradd 5 localhost:8080/Struts2_ResultType/userdelete 6 --> 7 <package name="user" namespace="/" extends="struts-default"> 8 9 <!-- 10 当多个Action共用同一个结果集时 11 就可以使用global-results指定公共的result 12 --> 13 <global-results> 14 <result name="main">/index.jsp</result> 15 </global-results> 16 <action name="usershow" class="cn.su.action.UserAction" method="show"> 17 <result>/index.jsp</result> 18 </action> 19 <action name="useradd" class="cn.su.action.UserAction" method="add"> 20 <!-- 动态指定返回的结果 21 ${returnPath}相当于从值栈中提取returnPath的值 22 returnPath是UserAction中的一个属性 23 --> 24 <result>${returnPath}</result> 25 </action> 26 <action name="userdelete" class="cn.su.action.UserAction" method="delete">
<!-- 重写向到jsp时,将UserAction中的属性t传递到jsp页面 --> 27 <result type="redirect">/user_delete_success.jsp?t=${t}</result> 28 </action> 29 30 </package> 31 <package name="admin" namespace="/" extends="user"> 32 <!-- 33 extends="user" 34 使用extends可以继承所有user的配置 35 36 可以把多个包中共同的内容提取出来,放在一个公共包中, 37 在使其它的包继承公共包,使配置最简 38 --> 39 </package>
二、Action
1 package cn.su.action; 2 3 import com.opensymphony.xwork2.ActionSupport; 4 5 public class UserAction extends ActionSupport { 6 /* 7 * 返回 main 将读取配置文件里 公共的 result 8 * */ 9 public String show(){ 10 return "main"; 11 } 12 /* 13 * 在add()设置 returnPath 的值 14 * 在配置文件中读取 15 * 可以实现动态设置result的路径 16 * */ 17 private String returnPath; 18 public String getReturnPath() { 19 return returnPath; 20 } 21 public String add(){ 22 returnPath="/user_add_success.jsp"; 23 return SUCCESS; 24 } 25 /* 26 * 在result中使用${} 27 * 实现重定向时传递参数 28 * */ 29 private String t; 30 public String getT() { 31 return t; 32 } 33 public String delete(){ 34 t="123"; 35 return SUCCESS; 36 } 37 }
三、获取传递到jsp页面的参数
1 <!-- 获取传递到jsp页面的参数 --> 2 <s:property value="#parameters.t"/> 3 <s:debug></s:debug>
<!--
访问的url:
localhost:8080/Struts2_ResultType/usershow
localhost:8080/Struts2_ResultType/useradd
localhost:8080/Struts2_ResultType/userdelete
-->
<package name="user" namespace="/" extends="struts-default">
<!--
当多个Action共用同一个结果集时
就可以使用global-results指定公共的result
-->
<global-results>
<result name="main">/index.jsp</result>
</global-results>
<action name="usershow" class="cn.su.action.UserAction" method="show">
<result>/index.jsp</result>
</action>
<action name="useradd" class="cn.su.action.UserAction" method="add">
<!-- 动态指定返回的结果
${returnPath}相当于从值栈中提取returnPath的值
returnPath是UserAction中的一个属性
-->
<result>${returnPath}</result>
</action>
<action name="userdelete" class="cn.su.action.UserAction" method="delete">
<result type="redirect">/user_delete_success.jsp?t=${t}</result>
</action>
</package>
<package name="admin" namespace="/" extends="user">
<!--
extends="user"
使用extends可以继承所有user的配置
可以把多个包中共同的内容提取出来,放在一个公共包中,
在使其它的包继承公共包,使配置最简
-->
</package>