struts2的验证框架

1、校验,struts2提供的多种校验方式:
*验证Action中全部方法
在Action同包下,创建:Action类名-validation.xml如:LoginAction创建LoginAction-validation.xml
在这里LoginAction只有一个方法那就是login方法,当我们访问login方法的时候,struts2中的验证拦截器
就会加载LoginAction-validation.xml的配置文件进行验证
局限:如果action有其他方法,当我们访问这些方法,拦截器一样会进行验证操作,然后就会跳到input指定的错误页面;
而我们的需求是这些方法不用进行验证,于是就有了下面这个方法
*验证Action中单个方法
每个方法单独配置一个validation.xml
具体:在Action同包下,创建:Action类名-action方法对应的名称-validation.xml
例如:<action name="userAction_*" method="{1}" class="struts2.action.UserAction">
要创建UserAction-userAction_doAdd-validation.xml,userAction_doAdd为访问这个action方法的路径




2、struts2 中同一个action的实现中对应多个input的处理方法
(1)解决方法:在方法上加上
@InputConfig(resultName = "addInput")/@InputConfig(methodName="addInput")
public String doAdd(){
@InputConfig(resultName = "editInput")
public String doEdit(){
(2)然后在struts.xml配置文件中添加:
<result name="input">WEB-INF/user/error.jsp</result>
<result name="addInput">WEB-INF/user/add.jsp</result>
<result name="editInput">WEB-INF/user/edit.jsp</result>
(3)原理:
之所以通过上面的方式可以解决,主要如下的几个实现
com.opensymphony.xwork2.interceptor.annotations.InputConfig
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor#doIntercept


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值