第一种方式,使用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是数据库脚本,...
SpringMVC中使用JSON传递数据时用的jar包
jackson-databind-2.4.2.jar jackson-core-2.4.2.jar jackson-annotations-2.4.0.jar
附件是springmvc开发中与前台进行json数据的交互所需的jar包,参考文章:http://blog.csdn.net/eson_15/article/details/51742864
springmvc对json支持
学习SpringMVC处理JSON数据的具体实现和基本原理,同时会使用HttpMessageConverter
1, 基本实现了数据的增删改操作; 2,表格的动态编辑刷新事件; 3,SpringMVC注解应用; 4,ExtJS表单提交,表格复选框,Ajax服务器提交; 5,外加邮件群发技术的实现; 适合初学者!大师就不要下载了!
springmvc中json转换的jar,包含jackson-core-asl.jar和Jackson-mapper-asl.jar
springmvc,mybaitis json jar包Spring各jar包详解spring.jar 是包含有完整发布模块的单个jar 包。但是不包括mock.jar,aspects.jar, spring-portlet.jar, and spring-hibernate2.jar。 spring-src.zip就是所有的源...
springMVC返回json数据需要的两个架包,加入springMVC使用@ResponseBody才不会报错。
SpringMVC+Hibernate+EXT 非常完整的项目源码,带数据库文件
用来解决SpringMVC+Ajax技术中前台报406的错误信息,实现后台json格式与前台一致
springmvc mybatis ehcache json
SpringMVC加入json数据读取和写回需要引入的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-...
字符串、对象、List集合、Map集合
springmvc加入json
本资源是SpringMVC返回JSON数据的相关Jar包,结合我的博客教程可以完成与EasyUI DataGrid之间的数据交互。
1、SpringMVC 处理json数据所需jackson相关jar包. jackson-annotations-2.5.0.jar , jackson-core-2.5.0.jar,jackson-databind-2.5.0.jar 2、该版本jar包可以解决转json数据报错:can not access a member of ...
这是一个 spring mvc 框架 封装了 前台表单转成json数据 传递到后台 控制层 接收 json 数据,可以支持批量添加数据的功能。