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:radio name="gender1" list="#{'male':'男','female':'女'}" value="'male'"/>

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

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

    <s:select name="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)<param name="contentDisposition">attachment;filename=${filename}</param>

             public String getFilename(){...}

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

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

             <param name="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页面

wps_clip_image-18628

1.03 创建UserAction.java类

wps_clip_image-12531

1.04 创建struts.xml配置文件

wps_clip_image-31125

1.05 运行结果

wps_clip_image-18896

wps_clip_image-4522

转载于:https://my.oschina.net/doloop/blog/217830

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值