初识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>

posted @ 2014-04-17 15:30  XIAOHEI丨  阅读(140)  评论(0编辑  收藏  举报