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 "";} 删除掉即可