使用Ajax发送Struts2请求返回JSON数据格式

来源:互联网 发布:linux chgrp 单词 编辑:程序博客网 时间:2024/04/25 19:57

1、ajax请求代码:

首先导入jquery类库:

<script type="text/javascript" src="../../js/jquery-1.7.2.js"></script>

  //经度数组
    var longitudes=new Array();

  //维度数组
   var dimensionalitys=new Array();
  //速度数组     
   var speeds=new Array();

function onclickSUbmit(){
       $.ajax({
      
url:'/GPSDemo/showUserEquipmentPath.action', //发送请求
       type:'post',                                 //请求方式
       dataType:'json',                          //返回数据类型

       //请求回调结果
       success:function(data){
        longitudes.length=0;
        dimensionalitys.length=0;
        speeds.length=0;

      //遍历响应回调数据
         $.each(data.equipments,function(i,value){
         //经度入栈
         longitudes.push(value.longitude);
         //维度入栈
         dimensionalitys.push(value.dimensionality);

         //速度入栈
         speeds.push(value.speed);
         });

        //调用轨迹运行函数
         run1(longitudes,dimensionalitys,speeds);
        }
       });
   }

2、action类:

private List<Equipment> equipments;

 public List getEquipments() {
  return equipments;
 }

 public void setEquipments(List equipments) {
  this.equipments = equipments;
 }

public String showUserEquipmentPath() {

   //action请求到数据库查找设备"1001"的轨迹保存到集合中

  if (userEquipmentService.showUserEquipmentPath("1001") != null) {
  //保存数据  

 equipments = userEquipmentService.showUserEquipmentPath("1001");
   return SUCCESS;
  }
  return "error";
 }

3、Struts.xml配置

必须继承json-default

<package name="MyPackage" extends="struts-default,json-default">
    <!-- 显示设备信息Action -->
   <action name="showUserEquipmentPath" class="net.nyist.gpsdemo.action.ShowUserEquipmentPathAction" method="showUserEquipmentPath">  
   <result  name="success" type="json">
   <!-- 下边指定转换为JSON包含的变量,想添加那些属性自己定义,中间为正则表达式-->
   <param name="includeProperties">
      equipments\[\d+\]\.dimensionality,equipments\[\d+\]\.longitude,equipments\[\d+\]\.speed
   </param>
   </result>  
   </action>   

4、类库

除了Struts2和项目运行所必需的包之外还必须添加

struts2-json-plugin-2.3.7.jar