-
Action的几个作用:
- 为给定的请求封装需要做的实际工作(调用特定的业务处理内).
- 为数据的转移提供场所.
- 帮助框架决定由哪个结果呈现请求响应.
不管Action采用何种方式实现,要能够正确运行,都需要在Struts.xml文件中进行配置.
-
Action的实现
-
POJO(简单的Java对象)的实现,采用的是类似JavaBean的方式
-
实现Action接口. Struts2框架提供的有一个可以选择实现的Action接口.
-
继承ActionSupport,ActionSupport类本身实现了Action接口,是Struts2中默认的Action接口的实现类,所以继承ActionSupport就相当于实现了Action接口.
-
execute方法内部的实现,在实际的开发过程中,在execute()方法的内部,一般需要实现以下工作:
. 收集用户传递过来的数据
. 把收集到的数据组织成为逻辑层需要的类型和格式.
. 调用逻辑层接口,来执行业务逻辑处理.
. 准备下一个页面所需要展示的数据,存放在相应的位置.
. 转向下一个页面 -
Struts2访问Servlet API
- 通过ActionContext类访问
- 通过特定的***Aware接口访问
- 通过ServletActionContext类直接访问
-
配置Action
- 元素的属性说明:
.name:指定客户端发送请求的地址映射名称
.class:指定Action实现类所在的包名+类名
.method:指定Action类中的处理方法名称.
.converter:应用于Action的类型转换器的完整类名
- 元素的属性说明:
-
动态方法调用:
动态方法调用是指表单元素的action并不是直接等于某个Action的名字,在使用动态方法调用的时候,使用 ! 来标识要调用的方法的名称,语法格式如下- 在使用动态方法调用的方式将请求提交给Action时,表单中的每个按钮提交事件都可以交给同一个Action,只是对应的Action中的不同方法,这时在Struts.xml文件中只需要配置该action即可,不需要配置每一个方法.
-
用method属性处理调用方法
- 在struts.xml文件中配置元素的时候,当method属性省略掉的时候,调用的是execute()方法.当我们为其指定method属性后,可以让action调用指定的方法来处理用户的请求,而不是使用execute()方法来处理.