標籤:需要 ann map entity ping user 基礎資料型別 (Elementary Data Type) st3 ram
導包:
除了一些spring的包之外,還需要jackson-annotations.jar , jackson-core.jar , jackson-databind.jar 這三個包
開啟@ResponseBody註解:
在 spring-mvc.xml 中通過<mvc:annotation-driven />開啟@ResponseBody註解
使用@ResponseBody標註業務方法
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)基礎資料型別 (Elementary Data Type),如 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; }}
輸出結果:
SpringMVC中使用@ResponseBody註解標註業務方法,將業務方法的傳回值做成json輸出給頁面