ajax异步传输与struts,Struts中异步传送XML和JSON类型的数据

昨天和今天学习了XML和JSON型在struts2中的用法,当然,这需要与ajax结合起来使用,在项目中可以用到用户注册验证用户唯一性、无需刷新页面即可刷新部分数据等操作。

虽然就目前来说,JSON要比XML流行,但是可以预见的是,未来一段时间内,还是会有不少的企业依然会用到XML文件,故这里同时讲解了XML文件的生成和在JS中的解析。

我想熟悉Web的人大多数应该都会使用AJAX来与服务器进行异步的交互数据而不影响前台用户的使用,改善了用户体验。

关于用于生成XML和JSON格式数据的原理,我没有详细研究,后面随着学习的深入,我想我会进一步进行研究学习的。

下面开始说明原理:

前台页面通过ajax发请求到后台,根据请求数据创建要返回到前台的对象,然后将对象组装成XML或则JSON格式的数据,送回到前台,在JS中对返回的数据进行解析并显示到页面上。

这两个东西是一起进行学习的,所以对XML和JSON数据格式的学习,放到了同一个工程内。

第一步,新建web工程struts2-ajax,首先加入对应的jar包,总体工程结构及jar包如下:

130802140179601.jpg

130802140179602.jpg

第二步,配置web.xml文件,指定struts2的filter,配置文件信息如下:

xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

index.jsp

struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts2

*.action

第三步,写界面,我这里为了省事期间,就直接在index.jsp中进行修改,代码如下:

index.jsp:

My JSP 'index.jsp' starting page

function getInfo(){

$.post("getXMLAction.action",

{

name: $("#name").val()

},function(returnedData, status)

{

alert(returnedData + "," + status);

var name = $(returnedData).find("name").text();

var age = $(returnedData).find("age").text();

var height = $(returnedData).find("height").text();

var address = $(returnedData).find("address").text();

var html = "

"

name" +

"

age" +

"

height" +

"

address" + name + "" + age + "" + height + "" + address + "";

$("body table:eq(0)").remove();

$("body").append(html);

});

}

function getJsonInfo() {

$.post("getJSONAction.action", {name:$("#name").val()}, function(returnedData, status) {

alert(returnedData);

var html = "

"

name" +

"

age" +

"

height" +

"

address" + returnedData.name + "" + returnedData.age + "" + returnedData.height + "" + returnedData.address + "";

$("body table:eq(0)").remove();

$("body").append(html);

});

}

zhangsan

lisi

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值