论坛首页 Java企业应用论坛

Struts2 Action方法执行两次的问题?model-driven奇怪现象

浏览 16702 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-04-29  
我也有相同的问题。
0 请登录后投票
   发表时间:2008-04-29  
你要仔细看看xwork的关于model driven的文档,用model driven interceptor需要实现对应的ModelDriven接口,这个接口方法还会用在很多地方被自动调用,例如validation, i18n,
0 请登录后投票
   发表时间:2008-05-05  
跟踪调试以下,调试调试,一般这个都是页面引起的
对了,你把你的html页面发过来!
0 请登录后投票
   发表时间:2008-05-07  
我碰到过这个问题,经过n次试验,发现是sitemesh和struts2集成的问题,把layout.ftl里的<body ****>改成<body>就好了
0 请登录后投票
   发表时间:2008-06-05  
我也碰到了这个问题,但是最后我找到了方法,如果此action做多种处理,不要继承ActionSupport或者实现Preparable接口,并将execute方法去除掉,每个Action方法就返回个字符串就行。
0 请登录后投票
   发表时间:2008-06-25  
我也碰到了这个问题
我的是有时候执行两次,有时候执行三次
继承ActionSupport或者实现Preparable接口
一样执行多次
0 请登录后投票
   发表时间:2008-06-25  
franktony 写道
我也碰到了这个问题
我的是有时候执行两次,有时候执行三次
继承ActionSupport或者实现Preparable接口
一样执行多次


查了半天,解决了,超级奇怪!!

我用的是struts2+spring2.5+ibatis
前端用的是velocity

action会执行两次或三次

问题在于页面上的img元素

<img src='$user.picUrl'/>

当$user.picUrl等于空字符串的时候,就会引起action方法调用多次!!!

我在model里判断,当picUrl==""的时候,赋个非空字符串值就可以了

为什么?我不知道,但问题就是在这里。



0 请登录后投票
   发表时间:2008-07-11  
可能是你的提交按钮是submit类型,并且在按钮的onclick事件里也有submit()操作导致的。如果是这种情况,请将按钮类型改为button或者去掉onclick事件里的提交操作试试。
0 请登录后投票
   发表时间:2008-08-15  
我工程只是在ajax异步发送action方法时才执行了两次,检查后排除了页面重复提交可能,后来把action方法名改了即可(get*命名改成其他dddd*)。不知道是不是ActionSupport是否对get开头的方法有特殊处理?
0 请登录后投票
   发表时间:2008-08-16  
# <interceptor-ref name="modelDriven"/> 
#             <interceptor-ref name="validationWorkflowStack"/>

可能是你这个拦截器重复了
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics