日期:2014-05-16  浏览次数:20392 次

struts2整合JSON,JQuery 实现ajax功能

? ? ?4月 ?我使用到了 ?struts2 整合JQuery ?开发 ?要求实现一部数据的获取 ? ? ?我写了一个例子 ?不知道合不合适 有不妥

?

?

请大家 指出 ? 并修改

?

?

首先是html中的脚本 ?JQuery ?在此使用$.ajax(function(){ ?.......})方法 ? 但如果 有特别的需求 ? 也可以使用别的方法

比如:$.get(url,[data],[callback]) ?,? ?$.getJSON(url,[data],[callback])?等等都可以该参数 我就不详细阐述了参照jquery API文档 ?

?

ajax 脚本如下 ?:

?

?

$(function() {
		
		$.ajax({
			url : "ajax/queryUnitShippingOrderAjax.action",
			type : "post",
			dataType : "json",
			success : function(data,textStatus) {
			for(var i=0;i<data.length;i++){
		 		$("#ut1").append("<option value='"+data[i].id+"'>"+data[i].unit+"</option>");
		 		$("#ut2").append("<option value='"+data[i].id+"'>"+data[i].unit+"</option>");
		 		$("#ut3").append("<option value='"+data[i].id+"'>"+data[i].unit+"</option>");
		 		$("#ut4").append("<option value='"+data[i].id+"'>"+data[i].unit+"</option>");
		 		}
			},
			error :  function(xhr, textStatus, errorThrown) {
					alert(textStatus + ":" + errorThrown);
			}
		});
});

?

?

?

?$.ajax([options])参数 ?参照API文档 ?查看 ? ? ? 这里我讲一下 ?数据获取 ? ?

?

在ajax 和服务器端交互数据的时候 ? 通常情况下 ?

使用的是以json数据格式的传输 ? ?如: username:张三 password:123 冒号前是键 后是值 ??

?

你可以在dataType参数 设置为Json 格式 ? 也可以是xml 格式都可以 ?依照您的使用习惯 ?

?

如果 你返回的是一个list集合 ?而function(data,textStatus) {}是一个回调函数 data则是你获取到的list集合 对象

textstatus则是获取数据的状态和信息 ??

?

?

第二步: ?就是在struts.xml 文件中 ? 添加ajax ? Action以及方法 ?

注意的是 :<package name="ajax" extends="json-default" namespace="/ajax">

extends ?拓展 ?是拓展struts-json插件 ?必须导入该插件包和

? ? ? ? ? ?<package name="default" extends="struts-default" namespace="/">不一样

<package name="ajax" extends="json-default" namespace="/ajax">

		<action name="queryUnitShippingOrderAjax" method="queryUnitShippingOrderAjax"
			class="shippingOrderAction">
			<result name="success" type="json">
				<param name="root">unitList</param>
			</result>
		</action>
。。。。。。。

?添加action ??

?

?

第三步:?

	public String queryUnitShippingOrderAjax() throws ActionException {
		unitList = unitService.getUnits();
		return SUCCESS;
	}

?

这样就完成了一个struts2 ?整合 Json ?jquery 的ajax功能

?

?

?

?

?

?