• SpringMVC json


    之前写过struts2对json的支持------参考我的http://www.cnblogs.com/tele-share/p/7192206.html

    接下来说说SpringMVC对json的支持

    准备工作:导入jackson-core-asl-1.9.11.jar和jackson-mapper-asl-1.9.11.jar两个jar包(当然还有SpringMVC的包)

    jsp页面

     1 <script type="text/javascript">
     2         $(":button:eq(0)").click(function() {
     3             var url = "${pageContext.request.contextPath}/emp/bean2json.action?time=" + new Date().getTime();
     4             var data =  null;
     5             $.post(url,data,function(backData,textStatus,ajax) {
     6                 alert(ajax.responseText);
     7                 alert(new Date(backData.hireDate).toLocaleString());
     8             });
     9         });
    10     </script>

    后台控制器

    使用@ResponseBody注解,该注解用于将返回的对象转换成json格式的数据传给前台

    1   @RequestMapping(value="/bean2json.action")
    2     public @ResponseBody Emp bean2Json() {
    3         Emp  emp  = new Emp(1,"tele",10000D,new Date());
    4         return emp;
    5     } 

    配置文件

     1 <!-- 开启注解扫描 -->
     2     <context:component-scan base-package="cn.tele.springmvc_008"></context:component-scan>
     3     
     4     <!-- 注册json的适配器 -->
     5     <!-- <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
     6         <property name="messageConverters">
     7             <list>
     8                 <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
     9             </list>
    10         </property>
    11     </bean> -->

    可以看到上面关于json的配置较为复杂,那么有没有较为简单的方式呢?

    幸运的是spring提供了<mvc:annotation-driven/>,该标签提供了对json格式的支持(并且提供注解的适配器与映射器)

    所以配置文件可以这样写:

    1   <!-- 开启注解扫描 -->
    2     <context:component-scan base-package="cn.tele.springmvc_008"></context:component-scan>
    3 
    4   <mvc:annotation-driven/>

    结果:

    此外此处使用的是@ResponseBody,实现了后台的java对象转成json对象,如果前台传递的是json对象,那么后台接收时可以在方法的参数前加上@RequestBody注解,

    该注解可以将前台传递的json对象转换成java对象,但一般前台很少传递json格式的数据过来,顺带一提,以防需要.

  • 相关阅读:
    Steve Jobs 2005年于 Stanford University 毕业典礼上的演讲
    欧姆龙血糖仪HEA214换购备忘
    (转载)2011年高考作文之《时间在流逝》(安徽考生)
    2012年部分节假日安排(转载)
    乔布斯语录(转载)
    欢乐谷一日游
    上海公交投诉电话:12319
    中国公路“买路钱”应该怎么管?(转载)
    C#操作excel
    SQL Server数据库对列的操作
  • 原文地址:https://www.cnblogs.com/tele-share/p/7887201.html
Copyright © 2020-2023  润新知