Struts2框架(四)

十.xml配置文件中的action元素

10.1 作用与属性

作用:配置动作用的
属性:

  • name:动作名称
  • method:动作类中的方法名称。默认是public String execute(){}
    要求:

  • public的

  • 返回值必须是String
  • 没有参数

    1. class:动作类全名。默认的动作类com.opensymphony.xwork2.ActionSupport是在struts-default.xml中定义的,如果想要更改默认配置,需要在配置文件中加入
<package name="p1" extends="struts-default" >
        <default-class-ref class="自己的类名"></default-class-ref>
</package>

10.2 动作类的三种方式

  1. 方式一:动作类实现com.opensymphony.xwork2.Action接口。接口中的
    常量,给动作方法返回值用的。用常量可以使你的应用规范和统一。
常量变量名对应的值说明
SUCCESSsuccess动作方法执行一切OK
NONEnone不转向任何的视图
ERRORerror动作方法执行时遇到了异常
LOGINlogin回显
INPUTinput一般转向登陆页面

2. 方式二:动作类继承com.opensymphony.xwork2.ActionSupport 推荐使用(如果配置没有指定action或class,默认使用ActionSupport)
3. 方式三:动作类就是一个POJO(Plain Old Java Object 原始的java对象),非常简单的javabean。

public class HelloAction{
} 

10.3 动作访问

  1. 使用通配符
    使用通配符

jsp页面

使用通配符
2. 动态方法调用
jsp页面

配置文件

十一.结果类型视图

该部分内容指的就是struts配置文件中的result元素的使用

11.1 result元素

作用:为动作指定结果视图
属性:

  • name:逻辑视图的名称,对应着动作方法的返回值。默认值是success。
  • type:结果类型,指的就是用什么方式转到定义的页面。默认是dispatcher。
    type属性

11.2 result元素的 type取值

type属性的取值在struts-default.xml中定义着
type属性值
常用结果类型介绍:
- dispatcher:(默认值) 使用请求转发,转向一个页面。
- redirect:使用重定向,转向一个页面。
重定向
- redirectAction:注意:使用的是重定向。
- a.重定向到另一个相同名称空间的动作
重定向到相同名称空间的动作
- b.重定向到不同名称空间的动作
重定向到不相同名称空间的动作
- chain:注意: 使用的是请求转发。
- a.转发到另一个相同名称空间的动作
转发到另一相同名称的空间
- b.请求转发到不同名称空间的动作
转发到不同名称的空间

11.3 result元素中param子元素

在转发或者重定向到不同包下的动作时,都用到了result元素的子元素param

param元素的作用:依赖注入(Dependence Injection)思想。

我们通过struts-default.xml中的resultTypes元素中配置可以看出,每个结果类型视图其实都是靠一个类来实现的。而param元素就是将配置的参数,注入到该类中。调用的是对应类的setter方法进行注入的。例如:redirectAction结果视图
该类中肯定会有对actionName和namespace属性的注入方法(setter方法)。

result元素中param子元素

11.4 自定义结果类型

通过前面的内容,我们看出,其实结果类型就是一个类,这些类都实现了com.opensymphony.xwork2.Result接口。或者继承自该接口的实现类org.apache.struts2.dispatcher.StrutsResultSupport。 这些类都有一个doExecute方法,用于执行结果视图。
综上:我们也可以自己写一个结果视图。
例子:输出CAPTCHA图像的结果类型。CAPTCHA(Completely Automated Public Turing Test to Tell Computers and Humans Apart 全自动区分计算机和人类的图灵测试)————>简称:验证码。

  • 第一步:写一个类,实现接口或者继承接口的实现类
    第一步
  • 第二步:在struts.xml文件中配置结果类型
    第二步
  • 第三步:在action配置时引用
    第三部

扩展:通过可配置的参数,实现图像大小的调整
配置参数调整参数

11.4 全局视图和局部视图

  • 局部视图
    局部视图
  • 全局视图
    全局视图

十二.在动作类中访问Servlet的API

  • 第一种方式:使用ServletActionContext类
    第一种方式
  • 第二种方式:使用实现接口的方式
    第二种方式
    这里写图片描述

十二.分文件编写框架配置文件

12.1 不分文件开发可能产生的问题

就类似于我们在写java类时,所有代码都写在一个类里,甚至写在一个方法里。
不分文件开发当多个人都checkout了struts.xml文件时,第一个人提交了,后面的人在没有更新就提交时,第一个人写的可能就白写了。

12.2 分文件编写Struts2的配置文件

分文件编写Struts2的配置文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值