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)
{
});