@RequestParam註解,加與不加的區別

@RequestParam註解,加與不加的區別

@RequestParamhtml

  • 請求參數 綁定到 控制器方法參數
  • SpringMVC提供的接收普通參數的註解

源碼:測試

@Target({ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RequestParam {
@AliasFor("name")
String value() default "";

@AliasFor("value")
String name() default "";

boolean required() default true;

String defaultValue() default "nttnttnue000ue001ue002nttttn";
}ui

是name屬性 仍是value屬性,看前輩的博客說二者皆可,開發中兩者都能得到參數,我尚未測試過。

@RequestParam(value="參數名",required="true/false",defaultValue="")
/*code

  • value:參數名
  • required:設置是否包含該參數,默認是true,表示該請求路徑中必須包含該參數,若是不包含就會報400錯誤
  • defaultValue:設置默認參數值,若是設置了該值,required=true就會失效,自動爲false,若是沒有傳該參數,就使用默認值

/
htm

加與不加

使用不使用該註解,均可以獲取參數,但兩者仍是有區別的。開發

  • 不使用@RequestParam註解時,get

    • 請求路徑中不跟 參數,獲取的參數爲null;
  • 使用@RequestParam 註解時,源碼

    • 請求路徑中不跟 參數,頁面會報錯,返回400
    • 若是設置了required="false",就和不使用@RequestParam註解同樣了

註解@RequestParam如何使用加與不加的區別博客

相關文章
相關標籤/搜索