如果你是spring+struts2的框架组合就可能出现下图的问题,点击多次提交按钮居然出现多条相同的后台错误消息
这个问题想来很纠结,把配置文件和jsp都查了个遍也没找到原因,后来突然想到spring才恍然大悟。
因为struts是交给spring管理了,所以需要配置对应的bean:
<bean id="backLoginActionBean" class="com.bless.notepad.action.back.LoginAction"> <property name="loginService" ref="loginServiceBean"></property> </bean>
记住,spring控制的对象默认是单例的,所以LoginAction也是单例的,这里需要配置一个属性scope="prototype"表示一个线程一个实例,这样就不会出现上面的问题了。
<bean id="backLoginActionBean" class="com.bless.notepad.action.back.LoginAction" scope="prototype"> <property name="loginService" ref="loginServiceBean"></property> </bean>