徜徉の小溪 发表于 2013-1-23 01:25:59

struts2整合JSON,JQuery 实现ajax功能

     4月  我使用到了  struts2 整合JQuery  开发  要求实现一部数据的获取      我写了一个例子  不知道合不合适 有不妥
 
 
请大家 指出   并修改
 
 
首先是html中的脚本  JQuery  在此使用$.ajax(function(){  .......})方法   但如果 有特别的需求   也可以使用别的方法
比如:$.get(url,,)  ,   $.getJSON(url,,) 等等都可以该参数 我就不详细阐述了参照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.id+"'>"+data.unit+"</option>"); $("#ut2").append("<option value='"+data.id+"'>"+data.unit+"</option>"); $("#ut3").append("<option value='"+data.id+"'>"+data.unit+"</option>"); $("#ut4").append("<option value='"+data.id+"'>"+data.unit+"</option>"); }},error :function(xhr, textStatus, errorThrown) {alert(textStatus + ":" + errorThrown);}});}); 
 
 
 $.ajax()参数  参照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功能
 
 
 
 
 
 
页: [1]
查看完整版本: struts2整合JSON,JQuery 实现ajax功能