Struts2总结(赵君)

第一章:结果类型

1.01 dispatcher:action转发到jsp

1.02 redirect:action重定向到jsp

1.03 chain:action转发到action

1.04 redirectAction :action重定向到action

1.05 stream:以二进制流方式返回浏览器

FromAction转发到ToAction【chain】

ToAction转发到success.jsp【dispatcher】

【index.jsp超链接FromAction转发ToAction转发ok.jsp,可共享request域对象】 

    LeftAction重定向到RightAction【redirectAction】

    RightAction重定向到ko.jsp【redirect】

    【index.jsp超链接LeftAction重定向RightAction重定向ko.jsp,可共享session域对象】

1.06 局部结果类型声明

1.07 全局结果类型声明

     当局部和全局相同时,局部优先

 

第二章:异常处理

2.01 局部异常声明

2.02 全局异常声明

 

第三章:类型转换器【省-市-区=Address】

3.01 在默认情况下,struts2框架能将String和String[]类型转成基本类型或对应的包装类型及数组

3.02 但对于自定义的JavaBean类型,strust2框架没有内置的转换机制,它得调用程序员自定义的类型转换器才能正常工作

3.03 在src/xwork-convertion.properties类型转换属性文件,其中定义了什么JavaBean类型,由什么自定义转换器进行处理

3.04 类型转换器必须实现TypeConverter接口或继承StrutsTypeConverter类,推荐继承类

 

第四章:理解OGNL和ActionContext对象

4.01什么是OGNL

Object Graphic Navigator Language对象图导航语言,是开源Java项目

4.02 OGNL的作用

    在xml文件中访问Action的属性值,底层调用的是getXxx()方法,例如:${filename}

    从struts2中特有的6个对象中获取对应的属性值

    操作集合,构造Map或List集合,获取集合的长度

    常与struts2标签连用

4.03 理解ActionContext对象

   struts2的唯一一个数据中心,即专用于存储数据的地方,叫ActionContext对象

     ActionContext对象中有六个子对象,这六个子对象也能存数据

     每个Action都有自已独立的一个ValueStack对象,不会冲突

 

第五章:掌握OGNL的4种符号用法

5.01  #::出现在JSP中                      

        (A)访问ActionContext对象中的6个对象

            用<s:property value=”#session.username”/>进行输出

      (B)访问集合Map:#{'male':'男','female':'女'},构造radio和select标签

             <s:radioname="gender1" list="#{'male':'男','female':'女'}" value="'male'"/>

             <s:radioname="gender2" list="genderMap" value="'male'"/>    

             <s:selectname="city1" list="#{'bj':'北京','sh':'上海','gz':'广州'}" value="'gz'"/>

             <s:selectname="city2" list="cityMap" value="'gz'"/>

(C)访问集合List<User(username,gender,age,salary)>

              》集合的投影:userList.{username}

                   》集合的过滤:userList.{?#this.age>22}

                               userList.{^#this.age>22}

                          userList.{$#this.age>22} 

                               ?#表示所有对象            

                               ^#表示第一个对象        

                               $#表示最后一个对象    

                                  this表示当前迭代的这个对象      

            》集合的投影和过滤:userList.{?#this.age>22}[0]

                                  [0]表示符合条件的第一个对象    

                               [1]表示符合条件的第二个对象

                               [N]表示符合条件的第N+1个对象

     

  5.02  %{}:出现在JSP中

       (A)<s:textfield label="用户名" name="username" value="赵君"/>

       (B)<s:textfield label="用户名" name="username" value="%{username}"/>

              与getXxx()的返回值有关

 

   5.03  ${}:出现在XML中

         (A)<paramname="contentDisposition">attachment;filename=${filename}</param>

             public StringgetFilename(){...}

             访问Action的实例变量,底层执行getXxx()方法

         (B)<paramname="min">4000</param>

             <paramname="max">6000</param>

               <message>旧:薪水必须是4000-6000</message>

               <message>新:薪水必须是${min}-${max}</message>

 

   5.04  {}:出现在JSP中 

       (A){}构造List或数组,在输出值的时候,可加#号,也可不加#号

 

 

   #号出现的地方:

1)  查找非值栈的对象

2)  查找JavaBean对象的属性

3)  迭代List或Array时,#可选

 

第六章:ajax/json/jquery+ struts2

1.01 导入struts2,jquery和struts2-json-plugin-2.3.1.1.jar包

     struts2-json-plugin-2.3.1.1.jar包中有一个struts-plugin.xml文件

  <package name="json-default"extends="struts-default">,我们的包只需要继承json-default就行了

  <result-type name="json"class="org.apache.struts2.json.JSONResult"/>

  又增加一种结果类型,它能将Action的所有实例变量,只要提供getXxx()方法,自动转换JSON格式的字符串,输出给浏览器

1.02 创建register.jsp页面

    

1.03 创建UserAction.java类

     

1.04 创建struts.xml配置文件

    

1.05 运行结果

    

    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值