关于strtus使用xml文件校验错误提示信息出现多次的解决方案

最近在写SSH的项目时候,由于需要用到strtus的xml校验,但是刚开始的时候出现了错误信息重复出现的问题,就像现在这个样子。


当重复点击注册按钮时,错误信息会累积出现,当百度之后发现是因为spring注入的原因,由于每一个-validation.xml对应的为一个action,所以strtus会交给spring来管理,而spring默认的是单例的,所以说需要在配置的action中增加属性 scope="prototype",表示一个线程一个实例,这样就不会出现重复出现的问题了。

2. spring中scope是spring的概念,简单说就是对象在spring容器(IOC容器)中的生命周期,也可以理解为对象在spring容器中的创建方式。

scope有四种方式,分别为:

(1)singleton 

 表明容器中创建时只存在一个实例,所有引用此bean都是单一实例。

(2)prototype

spring在将bean设置为该属性之后每次出现新的请求都会生成新的对象,,虽说该对象有ioc容器产生,但是当把对象实例返回到请求的一方时,IOC就不在拥有该对象的引用,最典型的应用就是spring与strtus整合时要将action设置为该属性,以便于将实例交给请求方后该对象便自生自灭。

(3)request

(4)session

(5) global session


猜你喜欢

转载自blog.csdn.net/dfsethtdfd/article/details/80699950