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功能
相关推荐
结束数据方法的参数,该如何定义?-- 集合为自定义实体类中的结合属性,有几个实体类,改变下标就行了。<input id="add" type="button" value="新增visitor&quo