三、配置文件
1、package
包名,方便于对配置文件的管理。
2、extends
继承,继承了框架默认的最基本的功能。
3、namespace
package的一个属性,表示命名空间,访问action是要加上此处的值。
4、action
隶属于package,表示动作。
5、class
动作类,提供支持动作的方法,一般需要继承ActionSupport。
6、method
动作方法,实现动作的实际功能。默认动作方法为execute。
7、result
结果视图。可以定义type和name。type默认为dispatcher,即转发;name默认为success,即动作执行成功。
8、constant
常量。用于定义一些常量。
9、interceptors
自定义拦截器。拦截器是struts2的核心功能,实现了AOP的思想。
四、动作类
1、动作类的定义
一般需要继承ActionSupport类,从而可以使用该类的方法,实现框架提供的一些基本的功能。
2、封装请求参数
用动作类封装请求参数的方法有三种:一是直接在类中封装;二是类与模型相分离;三是使用模型驱动,此时的类与模型也是相分离的。
1、动作类即模型
此种方式,表单的输入域的name与类中属性的name是一致的。
2、动作类与模型向分离
此种方式,表单的输入域的name需要加上所属对象的名字。
3、模型驱动
此种方式,表单的输入域的name与类中属性的name是一致的。动作类需要实现ModelDriven<T>接口。
3、数据的校验
数据的校验分客户端校验和服务器端校验。客户端校验是为了提升用户的体验,服务器端的校验是为了保证数据的安全性。
服务器端数据的校验有两种:一是编程式校验,二是声明式校验。两种校验方式都要求动作类要继承ActionSupport类。
1、编程式校验
在动作类中通过编码的方式,实现对数据的校验。
A、对所有的方法进行校验
B、对某个方法进行校验
方式一,针对每一个方法,编写一个对应的校验方法。
方式二,先对所有的方法进行校验,再将不需要校验的方法,用注解的方式去除掉。
2、声明式校验
把校验规则和消息提示放到配置文件中。在动作类的目录下,建立一个配置文件:动作类名-validation.xml。
A、对所有的方法进行校验
B、对某个方法进行校验
简单的方法为使用注解:@SkipValidation,在不需要校验的方法上标注出来。