由于开发工作需要,近期研磨了在Struts2框架下使用Jquery Ajax的技术。现以表单的提交为例,简单现总结如下:
1、jsp文件
<script type="text/javascript" src="JS/jquery-1.9.1.min.js"></script>
<script type="text/javascript" >
$(function(){
$("#btn1").click(function(){
$.ajax({
url:'ajaxActionName.action', //提交目标,后台处理action
dataType:'json',
type:'post',
data:{ txtStr: $("#txt").val()}, //获取文本框的值作为参数
success:showResult //设置action执行成功后的动作函数
});
});
});
function showResult(
data) //data为action所返回的值
{
alert(
data.result); //result是action中用作返回值的一个变量
}
</script>
<input
id="txt"
type="text" /><br>
<input id="btn1" type="button" value="btn1" />
2、struts.xml
<package name="test"
extends="json-default">
<action name=" ajaxActionName " class="com.btnAction">
<result
type="json"></result>
</action>
</package>
3、action: btnAction.java
package com;
import com.opensymphony.xwork2.ActionSupport;
public class btnAction extends ActionSupport
{
private String result;
private String txtStr ;
public String getResult()
{
return this.result;
}
public void setResult(String tmp)
{
this.result=tmp;
}
public String getTxtStr ()
{
return this.txtStr ;
}
public void setTxtStr(String tmp)
{
this.btn1=tmp;
}
public String execute() throws Exception
{
this.result=this.btn1; //获取所传来的文本框的值,赋给result变量,返回给ajax
return SUCCESS;
}
}