JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它基于JavaScript的一个子集,常常配合ajax使用,利用ajax来加载数据.
json结束ajax的配置步骤:
1.导包.使用json需要jar包的支持,使用前就先导入以下jar包:commons-beanutils-1.8.0.jar、commons-collections-3.2.1.jar(曾经因为没导入这个包而浪费了我一个上午的时间来检查错误,汗)、commons-lang-2.4.jar、commons-logging-1.1.jar、ezmorph-1.0.6.jar、json-lib-2.3-jdk15.jar、jsonplugin-0.32.jar;
2.添加JsonResultType类.
3.配置struts.xml配置文件.在没用使用json的情况下,struts.xml配置文件中的package继承的是"struts-default"即:extens="struts-default",但使用json时继承的就不再是struts-default,而是"json-default",打开jsonplugin-0.32.jar下的struts-plugin.xml文件可以看到,其package已经继承了"struts-default".在package中加入以下代码,
<result-types>
<result-type name="json"
class="JsonResultType所在的包">
</result-type>
</result-types>
并在相应的Action中做以下配置,
<action name="jsonAction" class="action所在的包">
<result name="json" type="json">
<param name="name">json</param>
</result>
</action>
4.写action代码,(下面的代码注释可能不太准备,如有错误,请指出)
private String json;//需要get/set方法
//获得城市集合不一定一定是集合
List list = this.service.method();
//过滤不需要转换的属性
JsonConfig con = new JsonConfig();
con.setExcludes(new String[]{"过滤的属性"});
//将list转换成JSONArray
JSONArray array = new JSONArray();
//把array转换成String
this.json=array.toString();
//是struts.xml中的action的name
return "json";
5.javascript调用,
<script type="text/javascript">
function method(){
//请求的Action
var url = "jsonInfo/jsonAction!showCity.action";
//ajax调用
var ajax = new Ajax.Request(url,{
method:'post',
onComplete: function(data){
//这里获得的city是一个字符串,根据需要做相应的转换
var city = JSON.parse(data.responseText);
}
});
}
</script>
分享到:
相关推荐
在本场景中,我们将探讨如何使用AJAX来传递JSON数组,并在Struts2的Action中接收和处理这些数据。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析...
在Java编程中,JSON常用于前后端数据交互,特别是与Struts2框架结合时,可以实现服务器端与客户端之间的数据高效传输。 Struts2是一个开源的MVC框架,它在SSH(Spring、Struts2、Hibernate)集成开发中扮演着控制器...
在Struts2中,我们可以利用Ajax和JSON来实现数据的异步交互。 **一、引入所需库** 首先,为了在Struts2中使用Ajax和JSON,我们需要引入以下库: 1. Struts2的核心库:`struts2-core.jar` 2. Struts2的JSON插件:`...
需要注意的是,由于Struts2的JSON插件默认仅处理基本类型和字符串,对于自定义对象,你需要添加对应的转换器。你可以通过继承`org.apache.struts2.json.JSONResult`并覆盖`processType`方法,或者使用第三方库如Gson...
这个库支持多种Java类型,包括基本类型、集合、Map、自定义Java类等,使得JSON与Java之间的数据交互变得简单。 `struts2-json-plugin-2.1.8.1.jar` 则是Struts 2框架的一个插件,主要用于增强Struts 2对JSON的支持...
总的来说,"struts2+json"资源涉及到了Struts2框架中的Action设计、拦截器机制、结果类型的配置,以及AJAX和JSON在Web应用中的使用。理解这些知识点对于开发动态、交互性强的Java Web应用至关重要。
Struts、jQuery、Ajax以及JSON是Web开发中的四个关键技术,它们在构建动态、交互式的Web应用程序中发挥着重要...这就是Struts、jQuery、Ajax和JSON在实际应用中的典型整合,实现了前后端的无刷新通信,提高了用户体验。
接下来,我们将深入探讨如何实现AJAX和Struts2之间的JSON交互: **前端(客户端)实现**: 1. 创建JSON数据:在JavaScript中,可以使用`JSON.stringify()`将Java对象转换为JSON字符串。 2. 发起Ajax请求:使用...
`ezmorph-1.0.4`是一个Java库,主要用于对象之间的类型转换。在处理JSON数据时,可能会遇到需要将JSON对象的某个字段转换为特定Java类型的场景,ezmorph库就提供了这种能力,使得数据转换更为便捷。 `commons-...
主要是用到jquery的ajax,java中的hibernate4的调用mysql数据和struts2地址重定向,并把数据转换成json数据,经过html页面中的javascript调用后台数据,有添加,修改,删除,查询等简单功能,适用于有ajax初学者,...
在AJAX(Asynchronous JavaScript and XML)和Struts框架结合使用时,JSON常作为数据传输的载体,替代XML,因为它的体积更小,解析速度更快。 在上述实例中,开发者使用了JSON库`json-lib-2.1-jdk15.jar`来处理JSON...
综上所述,Struts2和Ajax的结合使用,能够实现高效的前后端数据交互,通过JSON数据格式,使数据传输更加便捷和高效。在实际项目中,开发者应熟练掌握这两种技术的结合,以提高Web应用的用户体验。
在Struts中,可以使用Struts2的JSON插件(Struts2-Json-plugin)来支持JSON的序列化和反序列化,使得服务器端的Java对象可以直接转换为JSON格式,发送到客户端,然后由JavaScript解析并操作。 在Struts-AJAX-JSON-...
Struts2、JSON、Ajax 和 jQuery 是Web开发中的四个关键技术,它们共同构建了现代Web应用程序的数据交互和用户界面交互的核心部分。 Struts2 是一个基于MVC(Model-View-Controller)架构的Java Web框架,它使得...
在这个"struts2+jquery执行ajax并返回json类型数据"的示例中,我们将探讨如何通过Ajax技术在后台Struts2框架与前端jQuery库之间交换JSON格式的数据。 首先,Struts2是一个强大的MVC(Model-View-Controller)框架,...
在IT行业中,jQuery、AJAX、JSON以及Struts2是四个非常重要的技术,它们在Web开发领域中扮演着核心角色。下面将详细解释这些技术及其相互间的集成。 **jQuery** 是一个快速、简洁的JavaScript库,它简化了HTML文档...
5. **[原创]Struts2 + JQuery + JSON实现AJAX - Struts - Java - ITeye论坛.mht**:这个文件可能是一个论坛帖子,详细介绍了如何结合Struts2、jQuery和JSON实现AJAX功能。帖子中可能会涵盖Action配置、JSON结果类型...
2. JSON序列化和反序列化:Struts2提供插件支持JSON序列化和反序列化,确保Action的返回值可以正确转换为JSON格式。 3. AJAX请求的设置:在EXT中,需要正确配置Ajax请求,指定URL、方法、数据类型等参数,确保请求能...
Struts2、JSON和AJAX是Web开发中的关键技术,它们的整合可以实现高效的数据交互和动态页面更新。本文将深入探讨这些技术以及如何在实际项目中整合它们。 **Struts2** 是一个基于MVC(Model-View-Controller)设计...
Struts2 JSON插件增强了框架处理JSON请求和响应的能力,使得开发者能够方便地将Action的结果以JSON格式输出,供Ajax调用。通过这个插件,你可以配置Struts2的动作类,使其能够直接返回JSON对象,而无需额外的视图层...