Spring MVC Josn格式注解

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


@Controller
public 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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值