SpringMVC:獲取請求引數
阿新 • • 發佈:2021-12-21
1、使用原生ServletAPI獲取請求引數
@GetMapping("/test1") public String test1(HttpServletRequest request){ String username=request.getParameter("username"); String password=request.getParameter("password"); System.out.println(username+","+password); return "success"; }
2、通過控制器方法形參獲取請求引數
@GetMapping("/test3")
public String test3(String username,String password){
System.out.println(username+','+password);
return "success";
}
注意:如果請求引數與方法中的形參不一致,使用@RequestParams進行轉換
@RequestParam是將請求引數和控制器方法的形參建立對映關係。
@RequestParam註解一共有三個屬性:
Value:指定為形參賦值的請求引數的引數名
Required:設定是否必須傳輸此請求引數,預設值為true
若設定為true時,則當前請求必須傳輸value所指定的請求引數,若沒有傳輸該請求引數,且沒有設定defaultValue屬性,則頁面報錯400,Required String parameter ’xxx’ is not present,若設定為false,
則當前請求不是必須傳輸value所指定的請求引數,若沒有傳輸,則註解所標識的形參的值為null。
DefaultValue:不管required屬性值為true或false,當value所指定的請求引數沒有傳輸或者傳輸的值為""時,則使用預設值為形參賦值。
@GetMapping("/test4")
public String test4(@RequestParam("name") String username, @RequestParam("pwd") String password){
System.out.println(username+','+password);
return "success";
}
3、通過使用@PathVariable接收請求引數
此方式常用於通過RestFul風格拼接在請求地址中的引數值
@GetMapping("/test2/{username}/{password}") public String test2(@PathVariable String username,@PathVariable String password){ System.out.println(username+','+password); return "success"; }
4、通過實體類形參POJO獲取請求引數(最常用方式)
@GetMapping("/userAdd")
public String test5(User user){
System.out.println(user);
return "success";
}