• springmvc 请求和响应的json和Object的转换


    就是两个注解的使用@RequestBody和@ResponseBody注解的使用,然后springmvc解析进行转换然后注入

    例子:

    @RequestMapping("/...")
    public @ResponseBody Book queryBook(@RequestBody("bookVo") BookVo bookVo,@RequestBody("user") User user){
      Book book = new Book();    
        ...
      return book;    
    }

    @RequestBody是将请求当成json数据处理,注入到后面的java形参,一个该注解仅仅对应后面的那一个参数.value属性的话对应request 中paramter的key,不写的话默认表示后面java对象名

    @Response不仅可以放在方法头中间,就像上面一样,也可以放在方法上,如:

    @RequestMapping("/...")
    @ResponseBody
    public Book queryBook(@RequestBody("bookVo") BookVo bookVo,@RequestBody("user") User user){
    ...

    使用上面的注解需要一些配置:

    1、环境准备

      springmvc默认用MappingJacksonHttpMessageConverter对json数据进行转换,需要加入jackson的包:

        jackson-core-asl-1.9.11.jar

        jackson-mapper-asl-1.9.11.jar

    2、配置json转换器

    在注解适配器中加入messageConverters

    <!--  注解适配器 -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
              <list>
                     <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
              </list>
          </property>
    </bean>

    注意:如果使用<mvc:annotation-driven/>则不用定义上边的内容

  • 相关阅读:
    将后台返回的 xml replace
    程序员数学的重要性
    .net里生成的 checkboxlist 至少要选择一个
    关于如何坚持目标,网上偶然看到的,转载一下
    犹豫不决(收集)
    CSS中Padding参数说明及使用指南
    IE地址栏小图标问题
    常用sql语句集锦
    ie9怎么开兼容模式
    一台MySql服务器不同数据库之间数据同步_解决方案(Java)
  • 原文地址:https://www.cnblogs.com/aigeileshei/p/6293863.html
Copyright © 2020-2023  润新知