SpringMVC中Json資料格式轉換,springmvcjson

來源:互聯網
上載者:User

SpringMVC中Json資料格式轉換,springmvcjson
1    @RequestBody

作用:

@RequestBody註解用於讀取http請求的內容(字串),通過springmvc提供的HttpMessageConverter介面將讀到的內容轉換為json、xml等格式的資料並綁定到controller方法的參數上。

List.action?id=1&name=zhangsan&age=12

本例子應用:

@RequestBody註解實現接收http請求的json資料,將json資料轉換為java對象

 2    @ResponseBody

作用:

該註解用於將Controller的方法返回的對象,通過HttpMessageConverter介面轉換為指定格式的資料如:json,xml等,通過Response響應給用戶端

 

本例子應用:

@ResponseBody註解實現將controller方法返回對象轉換為json響應給用戶端

3  環境配置

  3.1 jar包準備

  Springmvc預設用MappingJacksonHttpMessageConverter對json資料進行轉換,需要加入jackson的包,如下:

  3.2 springmvc.xml檔案中的配置

  1) 如果設定檔中配置過註解驅動(<mvc:annotation-driven/>), 則無需多餘配置

  2) 如果沒有配置註解驅動, 則需如下配置(不推薦使用這種方式)

  <!--註解適配器 -->

    <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>

 4. Controller的編寫

 @RequestMapping("/testJson.action")
    @ResponseBody
    public Items testJson (@RequestBody Items items) {
        return items;
    }

  對應jsp頁面中js的編寫

function jsonTest () {
            $.ajax({
                type:"post",
                url:"${pageContext.request.contextPath}/item/testJson.action",
                contentType:"application/json;charset=utf-8",
                data:'{"name":"測試商品","price":99.9}',
                success:function (data) {
                    alert(data.name);
                }
            });
        }

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.