struts2中使用AJAX

1. 在Struts2中融合jQuery+JSON,需要先将struts.xml中encoding设置为UTF-8,还有设置包:

 

<constant name="struts.i18n.encoding" value="UTF-8"/>
	
	<package name="jsonExample" extends="json-default">
		<action name="jsonAction" class="com.test.action.JsonAction">
			<result type="json"/>
		</action>
	</package>

 

 

从以上看出,需要新建一个package包,并继承json-default。

 

 

2. Action类看如下:

 

 

public class JsonAction {
	private int[] ints = {10,20};
	private Map map = new HashMap();
	private String customer = "我是顾客!";
	private String field1;
	private String field2;
	private String field3;
	
	public String execute(){
		map.put("name", "Fer");
		return Action.SUCCESS;
	}
//......setter 和getter
}

 设置name属性后,返回success

 

3. 以下是使用jquery实现AJAX

//这个等于$(document).ready

$(function(){
		//获取按钮事件
		$("#btn").click(function(){
		//把表单的数据进行序列化
		var params = $("form").serialize();
		//使用jQuery中的$.ajax({});Ajax方法
		$.ajax({
			url:"jsonAction.action",
			type:"POST",
			data:params,
			dataType:"json",
			success:function(data){
				//清空显示层中的数据
			$("#div1").html("");
			//为显示层添加获取到的数据
			//获取对象的数据用data.xxx.属性
			$("#div1").append("<div><font color='red'>field1:"+data.field1+"</font></div>")
					     .append("<div><font color='red'>field2:"+data.field2+"</font></div>")
					     .append("<div><font color='red'>field3:"+data.field3+"</font></div>");
					     
			for(var v in data){
				//循环输出json中属性
				$("#div1").append("<div><font color='red'>json:"+data[v]+"</font></div>");
			}
			}
		});
		});
	}); 
 

还有jsp中的表单就不一一列出了,代码中"#"代表标签id。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值