Spring mvc 通過@ResponseBody註解返回資料
阿新 • • 發佈:2019-01-25
@ResponseBody
作用:
使用時機:
返回的資料不是html標籤的頁面,而是其他某種格式的資料時(如json、xml等)使用;
配置返回JSON和XML資料
1.新增jackson依賴
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.7</version>
</dependency>
2.開啟<mvc:annotation-driven />
3.程式碼
package com.loger.controller; 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; import com.loger.entity.User; /** * ResponseBody 註解,可以將如下型別的資料做成json: * 1)基本資料型別,如 boolean , String , int 等 * 2) Map 型別資料 * 3)集合或陣列 * 4)實體物件 * 5)實體物件集合 * */ @Controller @RequestMapping("/test") public class JsonController { @RequestMapping("test1.do") @ResponseBody public boolean test1(){ return true; } @RequestMapping("/test2.do") @ResponseBody public Map<String, Object> test2(){ Map<String , Object> map = new HashMap<String ,Object>(); map.put("id", "s20070"); map.put("name", "鄭城斌"); return map; } @RequestMapping("/test3.do") @ResponseBody public List<String> test3(){ List<String> list = new ArrayList<>(); list.add("aaa"); list.add("bbb"); list.add("ccc"); return list; } @RequestMapping("/test4.do") @ResponseBody public User test4(){ User user = new User(); user.setId("s20068"); user.setName("餘清波"); user.setAge(21); return user; } @RequestMapping("/test5.do") @ResponseBody public List<User> test5(){ List<User> list = new ArrayList<>(); User user1 = new User(); user1.setId("s200681"); user1.setName("餘清波1"); user1.setAge(21); list.add(user1); User user2 = new User(); user2.setId("s200682"); user2.setName("餘清波2"); user2.setAge(21); list.add(user2); User user3 = new User(); user3.setId("s200683"); user3.setName("餘清波3"); user3.setAge(21); list.add(user3); return list; } }
輸出結果: