1. 程式人生 > 其它 >SpringMVC:獲取請求引數

SpringMVC:獲取請求引數

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";
    }