`
youanyyou
  • 浏览: 196465 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

马士兵struts2学习笔记(详细版)

阅读更多
  1. 1523_尚学堂马士兵_Struts2_模块包含   
  2. <struts>   
  3.     <constant name="struts.devMode" value="true" />   
  4.     <include file="login.xml" />   
  5. </struts>   
  6. 可以将别的写好的配置文件直接包含到struts得配置文件中,方便多人开发避免不必要的配置文件冲突.   
  7. login.xml   
  8. <?xml version="1.0" encoding="UTF-8" ?>   
  9. <!DOCTYPE struts PUBLIC   
  10.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
  11.     "http://struts.apache.org/dtds/struts-2.0.dtd">   
  12.   
  13. <struts>   
  14.     <package name="login" extends="struts-default" namespace="/login">   
  15.         <action name="login*" class="com.bjsxt.struts2.user.action.LoginAction{1}">   
  16.             <result>/user_login_success.jsp</result>   
  17.         </action>   
  18.     </package>   
  19. </struts>   
  20.   
  21. 1624_尚学堂马士兵_Struts2_默认Action   
  22. <package name="default" namespace="/" extends="struts-default">   
  23.          <!-- 当配置文件中没有用户要访问的Aciton的时候,会调用<default-action-ref 所定义的Action --处理错误页面 -->   
  24.         <default-action-ref name="index"></default-action-ref>   
  25.         <action name="index">   
  26.             <result>/default.jsp</result>   
  27.         </action>   
  28.     </package>   
  29.   
  30. 1727_尚学堂马士兵_Struts2_结果类型_result_type_1   
  31.     ResultType的最常用的几种配置:(四种配置分别代表了四种不同的跳转方式)   
  32.      <package name="resultTypes" namespace="/r" extends="struts-default">   
  33.         <action name="r1">   
  34.                   <!--type不写默认的为dispatcher:用服务器跳转跳转到结果页面--只能跳转到页面,不能跳转到Action -->   
  35.             <result type="dispatcher">/r1.jsp</result>   
  36.         </action>   
  37.            
  38.         <action name="r2">   
  39.                   <!--客户端跳转的方式跳转到结果页面  只能跳转到页面,不能跳转到Action  -->   
  40.             <result type="redirect">/r2.jsp</result>   
  41.         </action>   
  42.            
  43.         <action name="r3">   
  44.                   <!--服务器跳转的方式跳转到Action -->   
  45.             <result type="chain">r1</result>   
  46.         </action>   
  47.            
  48.         <action name="r4">   
  49.                   <!--客户端跳转的方式跳转到Action -->   
  50.             <result type="redirectAction">r2</result>   
  51.         </action>   
  52. <!--当要跳转的Action在别的包下的时候 应该这样写-->   
  53.               <action name="r5">   
  54.                <result type="china">   
  55.                    <parma name="actionName">dashboard</param>   
  56.                    <parma name="namespace">/sesure</param>   
  57.                </result>   
  58.         </action>   
  59.   
  60. 1830_尚学堂马士兵_Struts2_Global_Results_全局结果集   
  61.  <package name="user" namespace="/user" extends="struts-default">   
  62.  <!-- 配置全局的结果集:当返回的result没有配置的时候会执行全局结果集的配置-->   
  63.         <global-results>   
  64.             <result name="mainpage">/main.jsp</result>   
  65.         </global-results>   
  66.            
  67.         <action name="index">   
  68.             <result>/index.jsp</result>   
  69.         </action>     
  70.     </package>   
  71. <!--关键字extends的使用:我想在下面的这个配置包中使用上面那个包中的结果集,那么可以使用extends关键字继承上一个包   
  72. <package name="admin" namespace="/admin" extends="user">   
  73.         <action name="admin" class="com.bjsxt.struts2.user.action.AdminAction">   
  74.             <result>/admin.jsp</result>   
  75.         </action>   
  76.     </package>   
  77.   
  78. 1731_尚学堂马士兵_Struts2_动态结果集_dynamic_result   
  79. 可以在strtus.xml文件中动态的指定返回的结果集。   
  80. public class UserAction extends ActionSupport {   
  81.     private int type;   
  82.        
  83.     private String r;   
  84.   
  85.     public String getR() {   
  86.         return r;   
  87.     }   
  88.   
  89.     public void setR(String r) {   
  90.         this.r = r;   
  91.     }   
  92.   
  93.     public int getType() {   
  94.         return type;   
  95.     }   
  96.   
  97.     public void setType(int type) {   
  98.         this.type = type;   
  99.     }   
  100.   
  101.     @Override  
  102.     public String execute() throws Exception {   
  103.         if(type == 1) r="/user_success.jsp";   
  104.         else if (type == 2) r="/user_error.jsp";   
  105.         return "success";   
  106.     }   
  107. }   
  108. struts.xml文件中的配置:   
  109. <package name="user" namespace="/user" extends="struts-default">   
  110.            
  111.         <action name="user" class="com.bjsxt.struts2.user.action.UserAction">   
  112. <!--可以用${属性名}的方式取得Action中的属性,在服务器端判断好相应的跳转路径然后存到变量里 然后再struts.xml文件中用这种方式取出来,可以极大的增加配置文件的灵活性 -->   
  113.             <result>${r}</result>   
  114.         </action>        
  115.     </package>   
  116.   
  117.   
  118. 1832_尚学堂马士兵_Struts2_带参数的结果集   
  119. 访问链接格式:<a href="user/user?type=1">传参数</a>   
  120. public class UserAction extends ActionSupport {   
  121.     private int type;   
  122.        
  123.     public int getType() {   
  124.         return type;   
  125.     }   
  126.   
  127.     public void setType(int type) {   
  128.         this.type = type;   
  129.     }   
  130.   
  131.     @Override  
  132.     public String execute() throws Exception {   
  133.         return "success";   
  134.     }   
  135.   
  136. }   
  137.      当从一个Action跳转到另一个Action的时候,如果需要传值并且是服务器端的跳转,没有必要再struts.xml文件result的跳转路径中进行传值操作,因为多个服务器端的跳转,共享的是同一个值栈,可以直接取到,但是如果是客户端的跳转(redirect)的方式进行跳转则需要进行如下的配置:   
  138.  <package name="user" namespace="/user" extends="struts-default">   
  139.         <action name="user" class="com.bjsxt.struts2.user.action.UserAction">   
  140.                   <!-- ${}的方式是从值栈取值,注意:不是El表达式 -->   
  141.             <result type="redirect">/user_success.jsp?t=${type}</result>   
  142.         </action>        
  143.     </package>   
  144. 但是如果在jsp页面取出传输的值用<s:property value="t"/>是取不到的,因为这种方式是在值栈里取值而我们跳转道德是一个jsp页面不是一个Action所以值栈为空,但是我们可以在ActionContext中进行取值:<s:property value="#parameters.t"/>  

1523_尚学堂马士兵_Struts2_模块包含

<struts>

    <constant name="struts.devMode" value="true" />

    <include file="login.xml" />

</struts>

可以将别的写好的配置文件直接包含到struts得配置文件中,方便多人开发避免不必要的配置文件冲突.

login.xml

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC

    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

    "http://struts.apache.org/dtds/struts-2.0.dtd">

 

<struts>

    <package name="login" extends="struts-default" namespace="/login">

        <action name="login*" class="com.bjsxt.struts2.user.action.LoginAction{1}">

            <result>/user_login_success.jsp</result>

        </action>

    </package>

</struts>

 

1624_尚学堂马士兵_Struts2_默认Action

<package name="default" namespace="/" extends="struts-default">

         <!-- 当配置文件中没有用户要访问的Aciton的时候,会调用<default-action-ref 所定义的Action --处理错误页面 -->

      <default-action-ref name="index"></default-action-ref>

      <action name="index">

       <result>/default.jsp</result>

      </action>

    </package>

 

1727_尚学堂马士兵_Struts2_结果类型_result_type_1

    ResultType的最常用的几种配置:(四种配置分别代表了四种不同的跳转方式)

     <package name="resultTypes" namespace="/r" extends="struts-default">

      <action name="r1">

                  <!--type不写默认的为dispatcher:用服务器跳转跳转到结果页面--只能跳转到页面,不能跳转到Action -->

        <result type="dispatcher">/r1.jsp</result>

      </action>

     

      <action name="r2">

                  <!--客户端跳转的方式跳转到结果页面  只能跳转到页面,不能跳转到Action  -->

        <result type="redirect">/r2.jsp</result>

      </action>

     

      <action name="r3">

                  <!--服务器跳转的方式跳转到Action -->

        <result type="chain">r1</result>

      </action>

     

      <action name="r4">

                  <!--客户端跳转的方式跳转到Action -->

        <result type="redirectAction">r2</result>

      </action>

<!--当要跳转的Action在别的包下的时候 应该这样写-->

              <action name="r5">

               <result type="china">

                   <parma name="actionName">dashboard</param>

                   <parma name="namespace">/sesure</param>

               </result>

      </action>

 

1830_尚学堂马士兵_Struts2_Global_Results_全局结果集

 <package name="user" namespace="/user" extends="struts-default">

 <!-- 配置全局的结果集:当返回的result没有配置的时候会执行全局结果集的配置-->

      <global-results>

       <result name="mainpage">/main.jsp</result>

      </global-results>

     

      <action name="index">

       <result>/index.jsp</result>

      </action> 

    </package>

<!--关键字extends的使用:我想在下面的这个配置包中使用上面那个包中的结果集,那么可以使用extends关键字继承上一个包

<package name="admin" namespace="/admin" extends="user">

      <action name="admin" class="com.bjsxt.struts2.user.action.AdminAction">

       <result>/admin.jsp</result>

      </action>

    </package>

 

1731_尚学堂马士兵_Struts2_动态结果集_dynamic_result

可以在strtus.xml文件中动态的指定返回的结果集。

public class UserAction extends ActionSupport {

  private int type;

 

  private String r;

 

  public String getR() {

   return r;

  }

 

  public void setR(String r) {

   this.r = r;

  }

 

  public int getType() {

   return type;

  }

 

  public void setType(int type) {

   this.type = type;

  }

 

  @Override

  public String execute() throws Exception {

   if(type == 1) r="/user_success.jsp";

   else if (type == 2) r="/user_error.jsp";

   return "success";

  }

}

struts.xml文件中的配置:

<package name="user" namespace="/user" extends="struts-default">

     

      <action name="user" class="com.bjsxt.struts2.user.action.UserAction">

<!--可以用${属性名}的方式取得Action中的属性,在服务器端判断好相应的跳转路径然后存到变量里然后再struts.xml文件中用这种方式取出来,可以极大的增加配置文件的灵活性 -->

        <result>${r}</result>

      </action>     

    </package>

 

 

1832_尚学堂马士兵_Struts2_带参数的结果集

访问链接格式:<a href="user/user?type=1">传参数</a>

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";

  }

 

}

     当从一个Action跳转到另一个Action的时候,如果需要传值并且是服务器端的跳转,没有必要再struts.xml文件result的跳转路径中进行传值操作,因为多个服务器端的跳转,共享的是同一个值栈,可以直接取到,但是如果是客户端的跳转(redirect)的方式进行跳转则需要进行如下的配置:

 <package name="user" namespace="/user" extends="struts-default">

      <action name="user" class="com.bjsxt.struts2.user.action.UserAction">

                  <!-- ${}的方式是从值栈取值,注意:不是El表达式 -->

        <result type="redirect">/user_success.jsp?t=${type}</result>

      </action>     

    </package>

但是如果在jsp页面取出传输的值用<s:property value="t"/>是取不到的,因为这种方式是在值栈里取值而我们跳转道德是一个jsp页面不是一个Action所以值栈为空,但是我们可以在ActionContext中进行取值:<s:property value="#parameters.t"/>

深圳人才网 深圳招聘网 深圳人才招聘网 深圳人才大市场 

企业、个人免费注册,获取想要的 深圳 软件工程师招聘信息 月薪最低3000-8000,更有高端猎头职位! 

www.szrcwz.com                                                                                                                                           

                  Google 提供的广告

分享到:
评论
2 楼 wulinshishen 2010-09-30  
马哥
1 楼 hezhou_0521 2010-09-29  
小马哥影响很大呀。

相关推荐

    马士兵struts2课程的学习笔记

    马士兵的Struts2课程是学习该框架的重要资源。以下是对该课程笔记的详细解析: 1. **导入包**:在使用Struts2之前,首先需要将相关的Struts2库导入到项目的类路径中。这通常包括struts2-core.jar和其他相关依赖库,...

    马士兵Spring课堂笔记(超级详细版).pdf

    马士兵Spring课堂笔记(超级详细版) 本资源主要讲解了Spring框架的基础概念和应用,涵盖了面向接口编程、IOC/DI、AOP、Spring应用IOC/DI、Spring应用AOP、Struts2.1.6 + Spring2.5.6 + Hibernate3.3.2整合、Spring...

    struts2学习笔记

    struts2学习笔记,听完尚学堂马士兵老师的视频讲座整理的笔记。

    马士兵hibernate学习笔记.docx

    《马士兵Hibernate学习笔记》是一份详尽的教程,涵盖了Hibernate框架的核心概念和技术要点。Hibernate作为Java领域中广泛使用的对象关系映射(ORM)框架,它有效地解决了Java应用程序与数据库之间的数据交互问题,...

    马士兵spring学习笔记

    ### 马士兵Spring学习笔记知识点汇总 #### 一、面向接口编程(面向抽象编程) **概念:** 面向接口编程是指在设计系统时,尽量通过接口来定义各个组件之间的交互方式,而不是直接依赖于实现类。这种方式使得系统...

    马士兵S2SH笔记

    《马士兵S2SH笔记》是一份集合了Struts2、Spring和Hibernate三大框架学习精髓的资料合集,由他人整理并基于马士兵老师的教学内容编撰而成。这份笔记旨在帮助学习者深入理解和掌握Java Web开发中的核心组件,构建高效...

    struts2资料

    "马士兵Struts2学习笔记2011.doc"可能包含了马士兵教育机构早期对于Struts2框架的讲解,涵盖了2011年时Struts2的主要特性,比如动态方法调用、插件体系、Tiles视图技术、Spring集成以及Ajax支持等。动态方法调用允许...

    SSH学习笔记--整理.rar

    首先,我们来看“马士兵Struts2学习笔记2011.doc”。Struts2是一个基于MVC(Model-View-Controller)架构模式的Java Web框架,它提供了强大的控制层,帮助开发者构建可维护性高、结构清晰的Web应用。Struts2与SSH中...

    马士兵Spring学习笔记.docx

    这是一种经典的MVC架构下的整合方案,其中Struts2作为前端控制器,Spring负责业务逻辑的管理,Hibernate则作为持久层框架处理数据存取。 #### 示例:OpenSessionInView Filter - **作用**:保持一个持久化上下文与...

    Struts2、Spring和Hibernate应用实例

    在提供的文件中,"马士兵hibernate学习笔记(原版)-你信不信_我反正是信了.doc"可能包含有关Hibernate的基础知识、配置、实体映射、查询等方面的内容,是学习和理解Hibernate的好资源。"Spring和Hibernate"可能涵盖了...

    struts2學習筆記

    【Struts2学习笔记】 Struts2是一款强大的Java EE应用程序框架,主要用于构建MVC(Model-View-Controller)架构的Web应用。它提供了一种结构化的控制层,使得开发人员可以更加专注于业务逻辑,而非底层的HTTP请求...

    SSH的笔记整理和重点讲解

    马士兵Struts2学习笔记2011.doc可能涵盖了Struts2的基本概念、配置、动作调度、拦截器、结果类型等内容,以及如何结合其他技术如JSP、Servlet来实现一个完整的Web应用。 2. **Hibernate**: Hibernate是一个对象...

    hibernate学习笔记mashibing

    《Hibernate学习笔记——马士兵教程解析》 在Java开发领域,ORM(Object-Relational Mapping)框架的使用已经非常普遍,其中Hibernate作为一款优秀的ORM框架,因其强大的功能和易用性深受开发者喜爱。本文将根据马...

    SSH学习资料

    该学习资料包括以下内容: chap01 领略清晰的MVC流程----Struts讲解技术资料.pdf chap02 体验控制反转的理念----Spring介绍技术文档.pdf chap03 感悟Hibernate...尚学堂-马士兵Struts2教学视频之Struts2_学习笔记.pdf

    尚学堂hibernate学习笔记(原版整理)

    该笔记由作者根据马士兵老师的教程整理而成,其中包含了个人的学习注解,使得内容更加生动易懂。 1. **Hibernate简介** Hibernate是一种开放源代码的ORM框架,它简化了Java应用程序与数据库之间的交互,通过将对象...

    Java学习的一整套资源整理

    尤其是马士兵老师的讲解,以其深入浅出的方式帮助初学者理解复杂的概念。 第二部分的J2SE练习项目视频,通过在线聊天系统、坦克大战等实际项目,让学生在实践中巩固所学知识,提升编程能力。这些项目不仅锻炼了编程...

    java,学习计划.pdf

    同时,通过观看马士兵的视频教程进行深入理解,确保每个知识点都能熟练应用,并做好详尽的笔记。 - **半个月**:复习在线聊天系统的视频,强化对之前学到的知识点的记忆,确保能够快速关联相关知识点。 - **1个...

Global site tag (gtag.js) - Google Analytics