1.首先我們需要在pom.xml中引入使用JSON所需要的相關依賴
<!-- json需要的 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.1</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
2.本次測試使用了JQuery所以須在springmvc.xml加入配置,以訪問到靜態資源
<!-- 主要作用於@Controller,激活該模式 下面是一種簡寫形式,完全可以手動配置替代這種簡寫形式; 它會自動註冊DefaultAnnotationHandlerMapping與AnnotationMethodHandlerAdapter
兩個bean, 是spring MVC爲@Controllers分發請求所必須的 -->
<mvc:annotation-driven />
<!-- 找到靜態資源 -->
<mvc:default-servlet-handler />
3.編寫發送請求的視圖
<%@ page contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html >
<html>
<head>
<meta charset="utf-8">
<title>JSONTest</title>
<script type="text/javascript" src="js/jquery-2.1.1.js"></script>
<script type="text/javascript">
function myTest(){
var obj=$("#subject");
var opt;
$.post("mvc/json",function(data){
console.info(data.string);
$.each(data.list,function(index,item){
opt='<option>'+item+'</option>';
obj.append($(opt));
});
});
}
</script>
</head>
<body>
<a οnclick="myTest()">JSONTest</a>
<div>
<select id="subject">
</select>
</div>
</body>
</html>
4.編寫請求處理類,注意須在請求處理方法前加上@ResponseBody
package com.yc.controllers;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller //標識爲請求處理類
@RequestMapping("mvc") //攔截/mvc的請求
public class HelloController {
@ResponseBody
@RequestMapping("/json")
public Map<String,Object> jsonTest(){
Map<String,Object> map=new HashMap<String, Object>();
List<String> list=new ArrayList<String>();
for (int i=0; i<5; i++) {
list.add("aa"+i);
}
map.put("string", "字符串");
map.put("list", list);
return map;
}
}
5.測試結果
我們來發送請求走一波,點擊JSONTest,看運行結果
OK,到這裏我們就完成了SpringMVC的JSON實現,關於SpringMVC的基本配置大家可以看我的另一篇博客“SpringMVC的HelloWorld實現”