ITPUB??ì3
ITPUB论坛 » Java企业开发 » 关于Spring+Struts2整合时ActionSupport的问题,请大家指点一下

新一届的微软MVP评选已经开始,欢迎各位推荐!

标题: 关于Spring+Struts2整合时ActionSupport的问题,请大家指点一下
离线 dotnetworker
一般会员



精华贴数 0
个人空间 0
技术积分 4698 (291)
社区积分 0 (1442376)
注册日期 2007-6-21
论坛徽章:33
开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠
生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠

发表于 2008-5-22 09:15 
关于Spring+Struts2整合时ActionSupport的问题,请大家指点一下

刚学Spring+Struts2
在写Struts2的Action时,有两个ActionSupport可以继承,一个是属于spring的,一个是属于struts2(xwork包里的)。我继承了struts2的ActionSupport写了个Action并交给Spring容器管理,奇怪的问题出现了。
(以我的例子说明来说明,容易表达一点):
我写了:一个登陆页面login.jsp,有id和password两个field
       一个LoginAction 继承自struts2的ActionSupport。
        一个对LoginAction的校验文件 LoginAction-Validation.xml(规定了id不能少于6位)
我在数据库里建了两个id,一个叫abc(少于6位),一个abcdefg(大于6位)。
然后我用abcdefg登陆,一切正常。
然而我用abc登陆时,提示错误,id不能少于6位。这个也正常。
但是问题出现了,这时我再输入那个abcdefg时,仍旧报id不能少于6位。。。。

我猜测是因为struts的ActionSupport持有了FieldError,然而Action交给了Spring管理导致Action只被实例化一次,而永久地持有了FieldError,所以只要有一次验证错误,错误永远都在Action里面,导致错误。

我就是想问问,我这样想对吗?有什么解决方法吗?继承Spring的ActionSupport会不会有这样的问题呢?

谢谢,请大家帮帮我


只看该作者    顶部
离线 duxiaochu1972
资深会员



精华贴数 0
个人空间 0
技术积分 6352 (208)
社区积分 4 (18486)
注册日期 2006-7-13
论坛徽章:14
开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星
开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星生肖徽章2007版:鼠

发表于 2008-5-22 09:16 
一个LoginAction 继承自struts2的ActionSupport。
        一个对LoginAction的校验文件 LoginAction-Validation.xml(规定了id不能少于6位)  
重复了啊 一个就行了


只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问