日期:2014-05-17  浏览次数:20771 次

struts2执行2次(两次二次)action方法的解决办法
最近在学struts2,出现个问题,就是用XXX!method.action在form表单中提交会执行method.

不管xml怎么去配置,都是如此.网上很多都是img会自动当做一次action,但是我没有用到img.

jsp也没有出现问题.

Java code

jsp:   
<!--使用按钮提交form -->   
<s:form action="">   
  <input type="button" onclick="search()" value="search"/>   
</s:form>   
  
document.forms[0].action="test!search.action";   
document.forms[0].submit();   
  
  
java:   
//使用动态方法调用   
public Class Test extends ActionSupport{   
  public String execute(){return "";}   
  public String search(){return "";}   
}  





解决办法:

<s:form action="" onsubmit="return false;">

原因是,form表单提交会被struts2当作action执行.


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/phoenix2121/archive/2010/06/21/5683098.aspx

------解决方案--------------------
原因是,form表单提交会被struts2当作action执行.

把struts2的url-mapping的/*改為 *.action
------解决方案--------------------
这个问题很久之前就知道啦.! 呵呵 不过还是谢谢LZ分享.!
像这个问题直接用html的form比较好.! struts2的UI标签有的时候很恶心的说!
------解决方案--------------------
修改成*.action了, 那我在struts配置文件中修改扩展名不是废掉了吗?
------解决方案--------------------
把struts2中的默认执行方法:public String execute(){return "";} 删除掉即可