spring-mvc中controller,前端傳過來的引數,用陣列,列表,Map來接受引數的方式
阿新 • • 發佈:2020-08-16
spring-mvc中controller,前端傳過來的引數,用陣列,列表,Map來接受引數的方式。
僅使用get方法來進行演示,其他請求方法(POST,DELETE,PUT)接受引數的形式都是一樣的。
-
用陣列接受引數
import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class CIsBestController { // 訪問路徑 http://localhost:8080/array?strings="貂蟬學python","小喬學java","魯班學C++" // 瀏覽器顯示的結果:響應資料:"貂蟬學python","小喬學java","魯班學C ", @RequestMapping("/array") @ResponseBody public String resp(String[] strings) { String str = ""; for(String s:strings){ System.out.println("接受的引數是:" + s); str += s+","; } return "響應資料:" + str; } }
-
用List接受引數
import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import java.util.ArrayList; @Controller public class CIsBestController { // 訪問路徑 http://localhost:8080/list?array_list="貂蟬學python","小喬學java","魯班學C++" // 瀏覽器顯示的結果:響應資料:"貂蟬學python","小喬學java","魯班學C ", @RequestMapping("/list") @ResponseBody public String resp(@RequestParam("array_list") ArrayList<String> arrayList) { String str = ""; for(String s:arrayList){ System.out.println("接受的引數是:" + s); str += s+","; } return "響應資料:" + str; } }
-
用Map接受引數
import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import java.util.Map; @Controller public class CIsBestController { // 訪問路徑 http://localhost:8080/map?name=貂蟬&age=18&sex=女 // 瀏覽器顯示的結果:響應資料:{name=貂蟬, age=18, sex=女} @RequestMapping("/map") @ResponseBody public String resp(@RequestParam Map map) { System.out.println(map); return "響應資料:" + map; } }
關於用Map接受引數有個小坑,用Map接受引數必須要在引數前新增
@RequestParam
註解。Map不能用來接受複合引數。對於前端來說,Map只能接受
{ name : "貂蟬", age : 18, sex : "女" }
這種形式的引數。如果前端傳的是
{ name : "貂蟬", age : 18, sex : "女", spouse : { name : "呂布", age: 25, sex: "男" } }
Map 是拿不到
spouse
裡面的引數資訊的。