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 |