关于在SSH环境下struts校验遇到的问题

我使用的是ActionName-validation.xml文件校验。可是验证总是在第一次有效。


查阅了资料以后发现,这和我们搭建的SSH环境有关。上面问题出现的原因是因为每次访问到了同一个Action对象。本来struts基于每次访问会


创建新的Action对象。可是当把objectFactory交由spring管理以后,spring默认是创建的单例,也就是singleton,所以只要修改bean的scope值为prototype即可。而且发现对于

<s:fieldeError>标签只有在返回是请求访问的页面才会有效,网上是这样解释的。由于我用的是html文件,所以就还没测试。出现这个问题的时候,可以注意下。哈哈,刚刚突然有灵感了,亲自测试过这个问题已经解决了,不是上面所说的那样,如果<s:fieldeError>标签没有用的话,那么就是你的jsp文件没有放到WEB-INF目录下,因为struts主张将所有的jsp页面放到WEB-INF下,把文件放进去即可解决。大笑


其次谈谈命名规则,之前我理解的意思是所写的继承了ActionSupport类的类名-validation.xml,其实这样会校验该Action下对应的所有业务逻辑方法。当使用该Action在struts.xml中配置了多个action时,需要校验不同的业务逻辑方法,命名变为ActionName-配置文件中action对应的name值-validation.xml即可,也得注意校验文件的校验规则别出错。

注意:这个是真的气,特此在这里说一下。在action中,除了你的action属性的get方法,就不要使用get开头作为方法名,真的,你不知道它会出现怎样的问题,而且短时间你还不一定能查出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值