Struts2中使用validate框架对Action的不同方法进行验证
来源:互联网 发布:乐敦cc使用方法知乎 编辑:程序博客网 时间:2024/05/29 08:36
Struts2中对输入校验最常用无非就是重写ActionSupport类的validate方法(编写java代码)和使用validate框架(xml文件)。
先看一下编写java代码进行验证的方法:编写Action时从ActionSupport继承,重写validate方法,则可以对整个Action进行输入校验。注意:因为我们一般都在Action中编写很多个跟业务逻辑相关的方法,而不仅仅是execute方法(类似于Struts1中的DispatchAction),而不同的方法所对应的jsp中的表单可能不一样,那么对不同方法的验证显然是不一样的,这时有一个解决方法就是针对不同的方法编写不同的validate方法,比如对test()方法的验证,编写public void validateTest()方法,依次类推,这时客户端通过叹号(比如”test!aa.action”、“test!bb.action”)调用Action的某个方法时,会先执行该方法的验证方法。这里还要说一下,重写的validate()方法对整个Action起作用,所以可删掉validate()方法,如果使用了execute()方法,将其改名为validateExecute()也可!
现在看一下Struts2利用xml实现的validate框架,这是最常用的Struts2输入校验,简便且功能强大!具体的使用就不说了,重点在于对Action不同的方法的校验。
对整个Action可以在与该Action类同路径下编写一个xml文件,比如TestAction,可编写TestAction-validation.xml文件,对整个Action进行校验,那么比如该Action中有aa()、bb()、cc() …方法,那么如何对单独的各个方法进行输入校验呢?
Struts2提供的方法是结合struts.xml文件中对TestAction的配置来实现,如在struts.xml中这样配置TestAction:
<action name="test_aa"
method="aa"
class="com.bluesun.struts2.action.TestAction">
</action>
<action name="test_bb"
method="bb"
class="com.bluesun.struts2.action.TestAction">
</action>
<action name="test_cc"
method="cc"
class="com.bluesun.struts2.action.TestAction">
</action>
这样在TestAction类路径下编写TestAction-test_aa-validation.xml、TestAction-test_bb-validation.xml、TestAction-test_cc-validation.xml,分别对不同的业务逻辑相关方法进行输入校验(同样注意TestAction-validation.xml文件对整个Action的验证作用哈)。
大家发现如果采用上面的配置,即对一个Action类配置了多个name,极不方便。大家如果在Struts1中使用过模式匹配,就会发现,Struts2中同样可以使用模式匹配来解决这个问题,下面是使用了模式匹配后的配置:
<action name="test_*"
method="{1}"
class="com.bluesun.struts2.action.TestAction">
</action>
另外,这样的配置也支持 test.action 或 test_.action 的访问,调用的是execute()方法。(大家可以参考Struts2的开发包中的apps实例)
- Struts2中使用validate框架对Action的不同方法进行验证
- 学习笔记: Struts2中使用validate框架对Action的不同方法进行验证
- struts2中使用xml进行validate验证
- struts2中使用xml进行validate验证
- Struts2对Action提交方法进行验证
- struts2中不同action之间进行传值的方法
- struts2中不同action之间进行传值的方法
- 解决Struts1.x中使用Validator框架对DispatchAction不同方法使用不同的字段验证
- 解决Struts1.x中使用Validator框架对DispatchAction不同方法使用不同的字段验证
- 对struts2中action的多个方法进行校验
- struts2对Action中所有的方法进行输入校验
- struts2.3.20的action中的validate验证
- struts2验证框架——validate()方法
- 在Struts中使用Validator框架按Action分类对数据进行验证
- 在Struts中使用Validator框架按Action分类对数据进行验证
- Struts2输入校验以及错误信息处理(1)——用Action中定义的validate()方法进行校验
- Struts2-Validate验证框架
- struts2中对Action类中的方法进行校验
- java与json的使用方式
- flex集中验证
- SSH查询-lazy机制
- 急求李兴华老师的struts1的视频
- 共用体union用法
- Struts2中使用validate框架对Action的不同方法进行验证
- struts2中 validation 指定validate过滤方法
- 异常处理的几种方式
- 在windows7中重复安装VMware7
- Oracle管理与维护.手工创建数据库以及脚本
- 计算器小程序-Java原创
- C#的俄罗士代码!!
- 通过Windows Live Writer客户端来写博客和转博客
- Java中JList简单应用