微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐