设为首页 加入收藏

TOP

Struts中异步传送XML和JSON类型的数据
2014-11-24 02:58:01 来源: 作者: 【 】 浏览:1
Tags: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包如下:




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


< xml version="1.0" encoding="UTF-8" >
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:


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>





My JSP 'index.jsp' starting page





<script type="text/java script" src="scripts/jquery-1.4.4.js">
<script type="text/java script">
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 = "

" +
"" +
"" +
"" +
"
nameageheightaddress
" + 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 = "" +
"" +
"" +
"" +
"
nameageheightaddress
" + returnedData.name + "" + returnedData.age + "" + returnedData.height + "" + returnedData.address + "
";
$("body table:eq(0)").remove();
$("body").append(html);
});
}












】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇使用 Python 语言开发 tic-tac-to.. 下一篇基于Socket的Java网络编程

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: