struts2 validation

struts2 validation

在使用struts2 validation时,一个action可能会处理很多业务逻辑。
如:一个action里既有add(),又有update(),在调用add()方法返回的表单校验失败信息理应返回到add.jsp里;
在调用update()方法返回的表单校验失败信息理应返回到update.jsp里。这时候如果只在struts.xml里定义一个
input result是不行的。但是struts.xml里只能定义一个input result,应该怎么办呢?

只需给add()加一个annotation即可:'@InputConfig(resultName=add_input.jsp)'
给update()加一个annotation:'@InputConfig(resultName=update_input.jsp)'

这样就解决了只能定义一个input result的问题。

有时候,validate失败后不希望直接返回到input页面,而是先到一个action再formward到页面。这种情况很常见,比如input页面需要一些初始化数据才能显示出来。这时就用到了@InputConfig的另外一个属性:methodName,即validate失败后,会调用methodName指定的一个action method,下一步具体要显示哪个页面,由这个method决定。
主业务action method和这个@InputConfig(methodName="show")指定的方法在同一个context里,这样input页面里即可以输出actionerror、actionmessage,也可以得到那些初始化数据了。

btw:
validation.xml文件命名方式:<ActionClassName>-<ActionAliasName>-validation.xml
如:UserAction-user_add-validation.xml

转载于:https://my.oschina.net/mashiguang/blog/49182

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值