第一种方式,使用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"
}
这是我个人比较喜欢使用的几种方式,当然还有其他的很多方式,大家可以自己查查资料
分享到:
相关推荐
2、ext4,这个项目是用来做ext的公共js库用的,这样不比没个项目都添加ext的js文件,方便开发。 切记将ext4项目部署上去,并且应用名称为ext4,否则访问fes项目是会找不到ext的js文件。 jxcia.sql是数据库脚本,...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得前后端数据交互变得更加简单和直观。本篇文章将详细讲解在Spring MVC中如何操作JSON数据以及所需的jar包。 首先,我们需要引入支持JSON处理...
在Spring MVC框架中,JSON(JavaScript Object Notation)支持是必不可少的,因为它允许应用程序与客户端进行数据交换,尤其是在构建RESTful服务时。JSON格式轻便、易于读写,且被广泛接受为网络通信的标准数据格式...
EXTJS的Store负责数据缓存和异步加载,与Hibernate的ORM机制相结合,实现了数据的透明处理。此外,EXTJS的Model可以与后台的Java Bean进行映射,简化数据交换。 总结起来,"SpringMVC+Hibernate+EXT"的项目源码提供...
确保所有依赖库都已引入,并正确配置SpringMVC,以实现后台与前台之间的顺利JSON数据交互。在实际项目中,还可能需要考虑JSON安全问题,例如防止XSS和CSRF攻击,以及优化性能,如使用GZIP压缩等。
总结起来,Spring MVC对JSON的支持主要依赖于Jackson库,通过`@ResponseBody`和`@RequestBody`注解实现数据交换,配合注解进行类型转换控制,同时允许开发者自定义序列化和反序列化行为,以及配置错误处理机制。...
`ObjectMapper`类在这个库中被完整实现,它提供了丰富的API来处理对象与JSON之间的转换,例如`readValue()`和`writeValueAsString()`方法,分别用于从JSON字符串反序列化对象和将Java对象序列化成JSON字符串。...
1, 基本实现了数据的增删改操作; 2,表格的动态编辑刷新事件; 3,SpringMVC注解应用; 4,ExtJS表单提交,表格复选框,Ajax服务器提交; 5,外加邮件群发技术的实现; 适合初学者!大师就不要下载了!
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参数"涵盖了Spring MVC 3中处理JSON数据的核心概念和实践方法,包括JSON数据格式、`@RequestBody`注解、前端JSON数据封装、批量处理、错误处理和配置支持等方面的...
在本案例中,"springMVC返回json数据需要的两个架包"指的是`jackson-mapper-asl-1.9.13.jar`和`jackson-core-asl-1.9.13.jar`。 1. Jackson库:这两个jar文件属于Jackson库的一部分,Jackson是Java中广泛使用的JSON...
在现代Web应用中,数据的传输通常采用JSON(JavaScript Object Notation)格式,因为JSON轻量级且易于解析,适合前后端之间的数据交换。在这个“SpringMVC返回JSON数据相关Jar包”中,包含了支持SpringMVC处理JSON...
3. **JSON序列化与反序列化**:在Spring MVC中,你可以通过使用`@RequestBody`和`@ResponseBody`注解来实现JSON数据的传递。`@RequestBody`用于将HTTP请求体中的JSON数据转换为Java对象,而`@ResponseBody`则将方法...
springmvc mybatis ehcache json
接下来,我们将深入探讨如何在MyEclipse环境下,利用SpringMVC框架通过JSON实现数据的传递。 1. **SpringMVC框架**:SpringMVC是一个用于构建Web应用程序的全面框架,它提供了一种松耦合、模块化的设计方式。开发者...
本节我们将深入探讨Spring MVC处理JSON数据的具体实现和基本原理,以及如何利用HttpMessageConverter。 一、JSON数据处理基础 1. JSON结构:JSON由键值对组成,键用引号包围,值可以是字符串、数字、数组、对象、...
总结来说,SpringMVC结合JSON库如Jackson,可以轻松地处理JSON格式的数据,实现前后端的数据交互。通过合理的配置和编程,可以极大地提高开发效率和应用性能。在实际项目中,根据具体需求选择合适的JSON库,并结合...
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-...
字符串、对象、List集合、Map集合
在这个Demo中,可能会看到如何设置Store来获取和展示数据,以及如何实现数据的增删改查操作。 3. **SpringMVC架构**:SpringMVC负责处理后端逻辑,包括数据处理、业务逻辑和与数据库的交互。开发者可能定义了...