Struts2 (动态调用、接收请求参数、类型转换、数据验证、拦截器)Day:2018/2/7

动态调用方法:

<!--25-wildcardAction-->

使用通配符定义的Action(常用)

Struts2 (动态调用、接收请求参数、类型转换、数据验证、拦截器)Day:2018/2/7


接收请求参数:

<!--27-ModelDriven-->

ModelDriven方式

Struts2 (动态调用、接收请求参数、类型转换、数据验证、拦截器)Day:2018/2/7

原理:Struts2的默认拦截器中存在一个拦截器ModelDrivenInterceptor。当一个请求经过该拦截器时,在这个拦截器中,首先会判断当前要调用的Action对象是否实现了ModelDriven接口

Struts2 (动态调用、接收请求参数、类型转换、数据验证、拦截器)Day:2018/2/7

类型转换:

<!--30-typeConverter-2-->

局部类型转换器

指定Action的指定属性起作用。注册方式为,在Action类所在的包下放置名称为如下格式的属性文件:ActionClassName-conversion.properties文件

Struts2 (动态调用、接收请求参数、类型转换、数据验证、拦截器)Day:2018/2/7

类型转换异常提示信息的修改

Action所在包中添加名称为ActionClassName.properties的属性文件(invalid.fieldvalue.变量名=异常提示信息

Struts2 (动态调用、接收请求参数、类型转换、数据验证、拦截器)Day:2018/2/7

接收多种日期格式的类型转换器


Struts2 (动态调用、接收请求参数、类型转换、数据验证、拦截器)Day:2018/2/7

Struts2 (动态调用、接收请求参数、类型转换、数据验证、拦截器)Day:2018/2/7

数据验证:

<!--33-validation-3-->

使用XML配置方式实现输入数据的验证

1.Action类仍需要继承自ActionSupport类

2.在Action类所在的包中放入一个XML配置文件,该文件的取名应遵守ActionClassName-validation.xml规则

Struts2 (动态调用、接收请求参数、类型转换、数据验证、拦截器)Day:2018/2/7


Struts2 (动态调用、接收请求参数、类型转换、数据验证、拦截器)Day:2018/2/7

对Action中指定方法执行前的验证

按如下规则命名配置文件: ActionClassName-ActionName-validation.xml

拦截器:

<!--35-permissionInterceptor-->

实现AbstractInterceptor类

Struts2 (动态调用、接收请求参数、类型转换、数据验证、拦截器)Day:2018/2/7

配置文件

Struts2 (动态调用、接收请求参数、类型转换、数据验证、拦截器)Day:2018/2/7