`

jQuery+struts+json

阅读更多

在struts中采用jquery利用json数据来动态无刷新更新页面。首先要准备一下基本知识,struts目前已经是展示层的业内标 准;jquery这里我们需要使用jquery的ajax方式获取后台数据;json是一种数据交换格式(不太清楚的可以看我之前的几篇文章《actionscript数据交互的几种类型》,《JSON简介》),项目构建工具maven。

主要讲一下的是jquery的ajax提交方式,我采用的是$.post方式:

jQuery.post( url, [data], [callback], [type] )

url        提交地址
data     提交的数据
callback 回调函数
type     数据类型,这里可以是xml,json,txt

实际代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
														//ajax提交
														
$.post("ajaxGetPersonBuildData.htm",
str,
function(data,textStatus){
if(textStatus=="success"){
for(var i=0;i<$(data).length;i++){
var str = $(data).get(i)[0].followUserEmpId;
$(&quot;#&quot;+str+&quot;b1&quot;).html(&quot;·<a href="\&quot;#\&quot;">&quot;+$(data).get(i)[0].name+&quot;</a>&quot;);
$(&quot;#&quot;+str+&quot;f1&quot;).html(&quot;·<span class="\&quot;black75\&quot;">&quot;+$(data).get(i)[0].areaage+&quot;M<sup>2</sup>&quot;+$(data).get(i)[0].room+&quot;&quot;+$(data).get(i)[0].drawingroom+&quot;&quot;+$(data).get(i)[0].price+&quot;</span>&quot;);
$(&quot;#&quot;+str+&quot;b2&quot;).html(&quot;·<a href="\&quot;#\&quot;">&quot;+$(data).get(i)[1].name+&quot;</a>&quot;);
$(&quot;#&quot;+str+&quot;f2&quot;).html(&quot;·<span class="\&quot;black75\&quot;">&quot;+$(data).get(i)[1].areaage+&quot;M<sup>2</sup>&quot;+$(data).get(i)[1].room+&quot;&quot;+$(data).get(i)[1].drawingroom+&quot;&quot;+$(data).get(i)[1].price+&quot;</span>&quot;);
 
}
}else{
alert(&quot;error&quot;);
}
},
&quot;json&quot;);

回调参数textStatus有以下几种返回要注意:

  // textStatus can be one of:
// &quot;timeout&quot;
// &quot;error&quot;
// &quot;notmodified&quot;
// &quot;success&quot;
// &quot;parsererror&quot;


接下去进入struts action中进行数据处理:

从request对象中取到的首先是一个字符串,我们要将他转为json对象再进行数据处理,完成之后返回的数据格式也应该是json对象给出response。

1
2
3
4
5
6
7
8
9
10
			response.setContentType(&quot;application/json;charset=gbk&quot;);
PrintWriter out = response.getWriter();
BufferedReader br =newBufferedReader(newInputStreamReader((ServletInputStream)request.getInputStream()));
String line =null;
StringBuilder sb =new StringBuilder();
while((line = br.readLine())!=null){
sb.append(line);
}
log.info(&quot;Json Input:&quot;+sb.toString());
JSONObject jsonObj = JSONObject.fromObject(sb.toString());

注意最前面的response是进行编码指定的防止中文造成的乱码,获取到POST过来的数据之后通过JSONObject来转换对象,这里需要引入一个JSON包 (maven依赖)

   <dependency>
<groupid>net.sf.json-lib</groupid>
<artifactid>json-lib</artifactid>
<version>2.2.3</version>
<classifier>jdk15</classifier>
</dependency>

json-lib是一个专门提供java进行JSON格式操作的类包。序列化JAVA对象:

1
2
3
4
5
6
JSONSerializer serializer =new JSONSerializer();
try{
jarray.add(serializer.toJSON(building));
}catch(JSONException e){
log.info(&quot;JSONException:&quot;+e.getMessage());
}

转换JAVA对象到JSON的时候比较容易发生的异常在java对象的类型,因为是通过反射来转换对象的有些类型的字段转换时候会出一些异常,比如日期,长整型等。我的做法是将JAVA对象的字段都设为string。

分享到:
评论

相关推荐

    json+jquery+struts2+hibernate+spring 实现的小型bbs系统,这个提供包

    json+jquery+struts2+hibernate+spring 实现的小型bbs系统,这个提供包 ,很不错的下载后,好好徐希一下吧

    jQuery+json+struts2 开发备忘录(一)

    在本篇“jQuery+json+struts2 开发备忘录(一)”中,我们将探讨如何使用这三种技术来构建高效且用户友好的Web应用程序。jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理、动画效果以及Ajax交互。JSON...

    json+jquery+struts2+ajax

    struts2 json jquery ajax实现用户登陆及业面跳转

    Jquery+struts2上传图片,制作进度条,以及Jquery+Json+Struts交互等示例

    Jquery+struts2上传图片,制作进度条等示例,还有Jquery+Json+Struts实现Ajax技术,还有图形处理技术等,虽然很少,但都有重点突出,由于我也是学习,所以代码不是很简洁,对想学习交流的朋友非常合适

    整合jquery+json+struts2异步提交实例

    在这个实例中,“整合jquery+json+struts2异步提交”是一个典型的前端与后端交互的示例,利用了jQuery的Ajax功能和Struts2框架处理JSON数据。下面我们将详细探讨这些技术及其相互配合的工作原理。 **jQuery** 是一...

    SSH+jQuery+json 实现的Ajax操作,绝对精华,代码简练清晰,绝对能看明白

    在IT行业中,SSH、jQuery和JSON是Web开发中不可或缺的重要技术。这个压缩包中的资源,"SSH+jQuery+json 实现的Ajax操作,绝对精华,代码简练清晰,绝对能看明白",显然提供了一个使用这些技术实现Ajax级联操作的实例...

    jQuery+Struts1.2+JSON

    通过jQuery获取表单数据,封装到JSON对象,再把JSON对象转为字符串传到Action,接到数据后,再把JSON字符串变为JSON对象,通过JSON的键,取出数据,通过调用数据库返回数据封装在JSON,打印出数据,然后在客户端接收...

    Jquery+Struts2+JSON处理

    **jQuery + Struts2 + JSON 处理** 在Web开发中,jQuery是一个强大的JavaScript库,提供了丰富的DOM操作、事件处理和动画效果。Struts2是一个流行的Java Web框架,用于构建可维护性和可测试性的MVC应用程序。JSON...

    Struts2+Jquery+JSON 应用例子

    Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON

    struts2+spring+hibernate+jquery+json

    Struts2、Spring、Hibernate、jQuery 和 JSON 是五个在IT行业中极为重要的技术组件,它们各自在Web应用开发中扮演着不同的角色。这篇文章将详细介绍这些技术的整合使用以及它们的功能。 首先,Struts2 是一个基于 ...

    JEECMS源码(hibernate3+struts2+spring2+freemarker +jquery +json等技术)

    AJAX使用jquery和json实现。视图层并没有使用传统的JSP技术,而是使用更为专业、灵活、高效freemarker。 数据库使用MYSQL,并可支持orcale、DB2、SQLServer等主流数据库。应用服务器使用tomcat,并支持其他weblogic...

    简单的SSH+JQuery+JSON例子

    SSH指的是Struts、Spring和Hibernate这三个Java Web开发框架的缩写,而JQuery是一个强大的JavaScript库,JSON则是一种轻量级的数据交换格式。下面我们将详细探讨这些技术及其在实际项目中的应用。 首先,Struts是...

    Struts2 + jQuery+JSON 实现ajax

    ### Struts2 + jQuery + JSON 实现Ajax 在现代Web开发中,Ajax技术因其能够实现网页的局部刷新而被广泛采用。本篇文章介绍如何利用Struts2框架结合jQuery与JSON来构建一个简单的Ajax功能。 #### 一、环境搭建 1. ...

    Struts2+Jquery+Ajax

    在Struts2框架下,我们可以使用Jquery的Ajax方法向服务器发送请求,获取JSON或XML数据,然后动态更新页面的部分内容。 在"06-mvc之struts2.ppt"中,可能涵盖了以下内容: 1. Struts2框架的基本概念和架构 2. 如何...

    json + struts2 + 80个JQuery 效果 个例子

    总的来说,这个压缩包提供了一个全面的学习资源,帮助开发者深入理解并熟练运用JSON数据格式、Struts2框架和jQuery库。通过这些实例,你可以提高Web开发技能,尤其是处理动态交互和数据交换的能力。在实践中不断探索...

    jQuery+Struts+Ajax无刷新分页

    **jQuery+Struts+Ajax无刷新分页** 在Web应用开发中,为了提供更好的用户体验,无刷新分页已经成为一种常见的需求。本项目采用jQuery、Struts2和Ajax技术实现了这样一个功能,用户可以在不重新加载整个页面的情况下...

    JQuery+Struts2+JSON0+Spring+Hibernat+XFire整合实例

    1、JSON0.34使用的是struts2附带的struts2-json-plugin-2.1.8.1.jar 2、db是mysql,名字为test,用户名root,密码空 3、com.morningstar.utility.WSUtility为调用WebService的客户端代码,在调用这个WebService返回...

    省市联动jquery+struts2

    标题中的“省市联动jQuery+Struts2”是指在Web开发中使用jQuery库和Struts2框架实现的一个功能,即当用户选择一个省份时,相关的城市会动态地在下拉列表中加载出来,提供用户选择。这个功能在很多需要收集用户地址...

    jQuery json+struts2 jar包全集

    在"jQuery json+struts2 jar包全集"中,我们通常会找到以下内容: 1. **jQuery库的jar包**:这可能包含了jQuery的源码,使得在没有JavaScript环境或者需要在服务器端处理jQuery逻辑的情况下可以使用。 2. **Struts2...

    JQuery + Struts 分页

    JQuery可以方便地解析JSON响应,而Struts2提供了一系列的插件支持JSON序列化和反序列化。 7. **前端展示**:前端接收到JSON数据后,使用JQuery解析并动态插入到DOM中,更新页面上的数据列表和分页导航。同时,可能...

Global site tag (gtag.js) - Google Analytics