`
fish_no7
  • 浏览: 28016 次
文章分类
社区版块
存档分类
最新评论

Ext和springMVC结合实现json数据传输

阅读更多
第一种方式,使用springMVC内置的json支持
1.首先导入jackson的两个包jackson-core-lgpl-1.2.1.jar和jackson-mapper-lgpl-1.2.1.jar,后面附上了这两个包,可以下载。
2.配置springMVC的配置文件
<!--<mvc:annotation-driven/> -->
	<!-- 这样配置的目地是了支持json数据的转换 -->
	<bean
		class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
	<bean
		class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
		<property name="messageConverters">
                   <util:list id="beanList"> 
                     <ref bean="mappingJacksonHttpMessageConverter"/> 
                   </util:list> 
		</property>
	</bean>
	<bean id="mappingJacksonHttpMessageConverter"
		class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
		<property name="supportedMediaTypes">
			<list>
				<value>text/html;charset=UTF-8</value>
			</list>
		</property>
	</bean>

3.前台Ext请求数据
var schemaEnNameStore = new Ext.data.Store({
		proxy : new Ext.data.HttpProxy({
					url : '/ext_project/metaTable.action?method=querySchemaEnName',
					type : 'ajax'
				}),
		reader : new Ext.data.JsonReader({
					root : 'root',
					type : 'json'
				}, [{
							name : 'schemaEnName',mapping:'param'
						}]),
		autoLoad : false
	});

4.后台controller处理并返回数据
@RequestMapping(params = "method=querySchemaEnName")
	@ResponseBody
	public Object handleQuerySchemaEnName() {
		try {
			List<ParamDto> schemaEnNameList = metaTableService.querySchemaEnNameTotal();
			Map<String,Object> map = new HashMap();
			map.put("root", schemaEnNameList);
			map.put("success", true);
			return map;
			 
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}


第二中方式,比较简单和原始

1.前台请求数据
var tableEnNameStore = new Ext.data.JsonStore({
				url : '/ext_project/metaTable.action?method=queryTableEnName',
				root : 'root',
				fields : [{
							name : 'tableEnName',mapping:'param'
						}],
				autoLoad : false
			})

2.后台处理并返回,使用JSONObject

@RequestMapping(params = "method=queryTableEnName")
	public void handleQueryTableEnName(HttpServletRequest req,HttpServletResponse response){
		try{
			String schemaEnName = req.getParameter("schemaEnName");
			List<String> list = metaTableService.queryTableEnNameBySchEnName(schemaEnName);
			List<ParamDto> tableEnNameList = new ArrayList();
			Iterator iterator = list.iterator();
			while(iterator.hasNext()){
				ParamDto pDto  = new ParamDto();
				pDto.setParam((String)iterator.next());
				tableEnNameList.add(pDto);
			}
			Map<String,Object> map = new HashMap();
			map.put("root",tableEnNameList);
			map.put("success", true);
			JSONObject obj = JSONObject.fromObject(map);
			PrintWriter writer = response.getWriter();
			writer.print(obj.toString());
		}catch(Exception e){
			e.printStackTrace();
		}
	}

第三种方式
    springMVC的MappingJacksonJsonView借助Jackson框架的ObjectMapper将模型数据转换为JSON格式输出,由于MappingJacksonJsonView也是一个bean,可以通过BeanNameViewResolver进行解析,因此须在配置文件中配置:
bean id="userListJson" calss="org.springframework.web.servlet.view.json.MappingJacksonJsonView" p:renderedAttributes="userList"/>

默认情况下,MappingJacksonJsoView会将所有的数据都输出为json,这显然是不合适的,你可以通过renderedAttributes指定模型中哪些属性需要输出。
    在controller中添加一个返回userListJson的逻辑视图的方法:
   
@requestMapping()
public String **(ModelMap map){
List<User> list = new ArrayList<User>();
map.addAttribute("userList",list);
return "userListJson"
}
    

这是我个人比较喜欢使用的几种方式,当然还有其他的很多方式,大家可以自己查查资料
分享到:
评论

相关推荐

    Spring3+Hibernate4+SpringMVC整合Ext:JSON数据格式传输

    2、ext4,这个项目是用来做ext的公共js库用的,这样不比没个项目都添加ext的js文件,方便开发。 切记将ext4项目部署上去,并且应用名称为ext4,否则访问fes项目是会找不到ext的js文件。 jxcia.sql是数据库脚本,...

    springmvc操作json数据所需的jar包

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得前后端数据交互变得更加简单和直观。本篇文章将详细讲解在Spring MVC中如何操作JSON数据以及所需的jar包。 首先,我们需要引入支持JSON处理...

    springmvc加入json支持

    在Spring MVC框架中,JSON(JavaScript Object Notation)支持是必不可少的,因为它允许应用程序与客户端进行数据交换,尤其是在构建RESTful服务时。JSON格式轻便、易于读写,且被广泛接受为网络通信的标准数据格式...

    SpringMVC+Hibernate+EXT

    EXTJS的Store负责数据缓存和异步加载,与Hibernate的ORM机制相结合,实现了数据的透明处理。此外,EXTJS的Model可以与后台的Java Bean进行映射,简化数据交换。 总结起来,"SpringMVC+Hibernate+EXT"的项目源码提供...

    SpringMVC中后台转换json格式

    确保所有依赖库都已引入,并正确配置SpringMVC,以实现后台与前台之间的顺利JSON数据交互。在实际项目中,还可能需要考虑JSON安全问题,例如防止XSS和CSRF攻击,以及优化性能,如使用GZIP压缩等。

    springmvc对json支持

    总结起来,Spring MVC对JSON的支持主要依赖于Jackson库,通过`@ResponseBody`和`@RequestBody`注解实现数据交换,配合注解进行类型转换控制,同时允许开发者自定义序列化和反序列化行为,以及配置错误处理机制。...

    springmvc中json转换的jar

    `ObjectMapper`类在这个库中被完整实现,它提供了丰富的API来处理对象与JSON之间的转换,例如`readValue()`和`writeValueAsString()`方法,分别用于从JSON字符串反序列化对象和将Java对象序列化成JSON字符串。...

    Ext_SpringMVC(Ext结合SoringMVC注解)

    1, 基本实现了数据的增删改操作; 2,表格的动态编辑刷新事件; 3,SpringMVC注解应用; 4,ExtJS表单提交,表格复选框,Ajax服务器提交; 5,外加邮件群发技术的实现; 适合初学者!大师就不要下载了!

    springmvc,mybaitis json jar包

    springmvc,mybaitis json jar包Spring各jar包详解spring.jar 是包含有完整发布模块的单个jar 包。但是不包括mock.jar,aspects.jar, spring-portlet.jar, and spring-hibernate2.jar。 spring-src.zip就是所有的源...

    springmvc3+json参数传递后台接收json参数

    综上所述,"springmvc3+json参数传递后台接收json参数"涵盖了Spring MVC 3中处理JSON数据的核心概念和实践方法,包括JSON数据格式、`@RequestBody`注解、前端JSON数据封装、批量处理、错误处理和配置支持等方面的...

    springMVC返回json数据需要的两个架包

    在本案例中,"springMVC返回json数据需要的两个架包"指的是`jackson-mapper-asl-1.9.13.jar`和`jackson-core-asl-1.9.13.jar`。 1. Jackson库:这两个jar文件属于Jackson库的一部分,Jackson是Java中广泛使用的JSON...

    SpringMVC返回JSON数据相关Jar包

    在现代Web应用中,数据的传输通常采用JSON(JavaScript Object Notation)格式,因为JSON轻量级且易于解析,适合前后端之间的数据交换。在这个“SpringMVC返回JSON数据相关Jar包”中,包含了支持SpringMVC处理JSON...

    SpringMVC中使用JSON传递数据时用的jar包

    3. **JSON序列化与反序列化**:在Spring MVC中,你可以通过使用`@RequestBody`和`@ResponseBody`注解来实现JSON数据的传递。`@RequestBody`用于将HTTP请求体中的JSON数据转换为Java对象,而`@ResponseBody`则将方法...

    springmvc mybatis ehcache json

    springmvc mybatis ehcache json

    springMVC+json.zip_JSON_myeclipse_springmvc_数据传递

    接下来,我们将深入探讨如何在MyEclipse环境下,利用SpringMVC框架通过JSON实现数据的传递。 1. **SpringMVC框架**:SpringMVC是一个用于构建Web应用程序的全面框架,它提供了一种松耦合、模块化的设计方式。开发者...

    SpringMVC-9 处理JSON数据

    本节我们将深入探讨Spring MVC处理JSON数据的具体实现和基本原理,以及如何利用HttpMessageConverter。 一、JSON数据处理基础 1. JSON结构:JSON由键值对组成,键用引号包围,值可以是字符串、数字、数组、对象、...

    springmvc-json-lib.rar

    总结来说,SpringMVC结合JSON库如Jackson,可以轻松地处理JSON格式的数据,实现前后端的数据交互。通过合理的配置和编程,可以极大地提高开发效率和应用性能。在实际项目中,根据具体需求选择合适的JSON库,并结合...

    springmvc中处理json数据所需jar包 jackson.jar

    jackson相关jar包,springmvc处理json数据所需jackson相关jar包. 1、jackson-annotations-2.2.3.jar 2、jackson-core-2.2.3.jar 3、jackson-core-asl-1.9.9.jar、 4、jackson-databind-2.2.3.jar 5、jackson-mapper-...

    SpringMVC返回JSON数据

    字符串、对象、List集合、Map集合

    Ext4+SpringMVC实例Demo源码

    在这个Demo中,可能会看到如何设置Store来获取和展示数据,以及如何实现数据的增删改查操作。 3. **SpringMVC架构**:SpringMVC负责处理后端逻辑,包括数据处理、业务逻辑和与数据库的交互。开发者可能定义了...

Global site tag (gtag.js) - Google Analytics