1. 自定义方法调用介绍
struts2在输入校验完之后,如果检测到Action以及Field级别中没有错误的话,就会去调用execute方法,这里的execute方法我们可以自定义
实现步骤:
- 在对应的Action类中添加自定义方法,如下图所示:
- 在struts.xml中对action元素添加method属性,并指定对应的Action中的自定义方法名,如下图所示:
这样,流程就会转向我们自定义的方法myExecute,而不会再转向execute方法
2. 自定义输入校验方法介绍
既然struts2允许我们自定义方法,那么意味着一个Action可以处理多种逻辑,例如:在一个Action中定义update()、delete()、query(),并在struts2的配置文件中用method来区分,对于这种情况,我们就需要多种validate方法,struts2也想到了这一点,实现的方式也非常简单:
假如我们的自定义方法是myExecute,那么我们的自定义校验方法名要设置如下:
这样struts2的流程走向是:类型转换 -> 自定义的校验方法 -> validate最终校验方法 -> 自定义方法
3. 自定义输入校验方法与validate关系
在配置了自定义方法的情况下,如果有设置对应的自定义校验方法那么就会先去执行自定义校验方法,再去执行validate最终校验方法,相当于有两层防线,执行完validate方法后如果发现存在Action或Field级别错误那么就转向input视图
4. 自定义方法调用缺点
多个逻辑写在一个Action中,会导致一个Action中出现很多属性,导致代码混乱,所以推荐使用一个Action一个execute方法的形式
5. 内容引用来源
<<张龙J2EE视频>>