Spring MVC Josn格式注解

来源:互联网 发布:王健林 鲁豫 知乎 编辑:程序博客网 时间:2024/06/07 04:49

@ResponseBody 为把返回的参数解析成为JSON格式
@RequestBody为把传入的JSON格式的参数对应是参数的bean中

pom.xml 配置

<properties>    <jackson.version>2.8.5</jackson.version></properties><!-- jackson --><dependency>    <groupId>com.fasterxml.jackson.core</groupId>    <artifactId>jackson-core</artifactId>    <version>${jackson.version}</version></dependency><dependency>    <groupId>com.fasterxml.jackson.core</groupId>    <artifactId>jackson-databind</artifactId>    <version>${jackson.version}</version></dependency><dependency>    <groupId>com.fasterxml.jackson.core</groupId>    <artifactId>jackson-annotations</artifactId>    <version>${jackson.version}</version></dependency>

配置转换器

<!-- 注解映射器和注解适配器 --><!-- Enables the Spring MVC @Controller programming model --><mvc:annotation-driven conversion-service="conversionService">    <mvc:message-converters>        <bean class="org.springframework.http.converter.StringHttpMessageConverter"/>        <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">            <property name="supportedMediaTypes">                <list>                    <value>application/json</value>                </list>            </property>        </bean>    </mvc:message-converters></mvc:annotation-driven>

例如下面为控制类

package cn.itcast.ssm.controller;import cn.itcast.ssm.po.ItemsCustom;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;@Controllerpublic class JsonTest {    @RequestMapping("/requestJson")    //@ResponseBody将itemsCustom的信息返回成json格式    //@RequestBody将请求的商品信息的json格式的字符串返回到itemsCustom中    @ResponseBody    public ItemsCustom requestJson(@RequestBody ItemsCustom itemsCustom){        return itemsCustom;    }    @RequestMapping("/responeJson")    //@ResponseBody将itemsCustom的信息返回成json格式    //请求 key value 模式    @ResponseBody    public ItemsCustom responeJson(ItemsCustom itemsCustom){        return itemsCustom;    }}

下面为测试JSP页面代码

<%--  Created by IntelliJ IDEA.  Date: 2017/3/25  Time: 21:57  To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><script type="application/javascript" src="${pageContext.request.contextPath}/js/jquery-1.4.4.min.js"></script><script type="application/javascript">    function requestJson() {        var baseUrl = '${pageContext.request.contextPath}/requestJson.action';        $.ajax({            type:'post',            url : baseUrl,            contentType:'application/json',            data:'{"name":"手机","price":"9999"}',            success:function(data){                alert(data);            }        });    }    function responeJson() {        var baseUrl = '${pageContext.request.contextPath}/responeJson.action';        $.ajax({            type:'post',            url : baseUrl,            //contentType:'application/json', 默认就是key value类型            data:'name=手机&price=999',            success:function(data){                alert(data.name);            }        });    }</script><head>    <title>Json Test</title></head><body><input type="button" onclick="requestJson()" value="请求json,输出json"/><input type="button" onclick="responeJson()" value="请求key vale ,输出json"/></body></html>
0 0
原创粉丝点击