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

Struts2如何提交请求
一个jsp中多个按钮,请求同一Action中的方法,如何发送请求呢,js如何写呢?

------解决方案--------------------
没明白是什么意思。按钮type是button还是submit?
我想大约是这样的
对于不同按钮设置不同的id
然后js通过(#"id")取值
用window.location = "action";
------解决方案--------------------
LZ的意思是调用同一action中的不同方法吧?
在struts的配置文件里配置不同的方法名就行了,在js里直接调用相应的方法名,不存在难度呀
------解决方案--------------------
用通配符吧,多看看下struts2提供的例子
------解决方案--------------------
01.<action name="*_*" class="cn.javass.action.action.{1}Action" method="{2}">   
02.            <result name="toWelcome">/s2impl/welcome.jsp</result>   
03.</action>

 name属性的值中“*”代表长度不为0的任意字符串,因此,它可以响应的action只需要名称中间有一个下划线即可。比如页面可访问的action名称为:HelloWorld_create.action、HelloWorld _update.action等等。

       在name属性定义了通配符之后,class属性使用第一个通配符(使用{1}作为占位),method属性使用第二个通配符。

       如果使用HelloWorld_create.action作为访问的action名称的话,struts.xml中action名称为HelloWorld_create,第一个通配符匹配HelloWorld,第二个通配符匹配create。因此,由cn.javass.action.action.HelloWorldAction的create方法来响应。


------解决方案--------------------
1。修改form的action属性:document.forms[0].action="xxxxAction.do!save"
2.直接location.href="xxxxAction.do!save"


------解决方案--------------------
或者用ajax,那两个button按钮,直接用jquery,$("#id").click(function(){

$.ajax({
 type : 'post',   
         url : url1,  这个url就可以对应你的action里的各自方法 
 data:{
noCache : Math.random()
      },
 dataType : 'json',   
 async:false, 
 success : function (json) 
{                    
});