@RequestParam注解的詳細介紹


@RequestParam (org.springframework.web.bind.annotation.RequestParam)用於將指定的請求參數賦值給方法中的形參。

有三個屬性:

  (1)value:請求參數名(必須配置)

  

(2)required:是否必需,默認為 true,即 請求中必須包含該參數,如果沒有包含,將會拋出異常(可選配置)

  

(3)defaultValue:默認值,如果設置了該值,required 將自動設為 false,無論你是否配置了required,配置了什么值,都是 false(可選配置)

 

    1為演示效果,首先需要創建一個測試控制類,然后創建一個測試方法,如圖所示,方法里添加一個參數,此時方法參數沒有添加注解

  1.  

  2. 通過idea工具啟動web項目,然后通過瀏覽器訪問測試效果,不帶參數則獲取的參數為null,但頁面可以正常顯示,請求可以正常的執行。

    注解@RequestParam如何使用加與不加的區別
     
    帶上參數之后,參數可以正常的獲取並打印出來了
    注解@RequestParam如何使用加與不加的區別
  3.  

    下面來對比下添加注解的效果,但只是添加@RequestParam,沒有帶任何的注解設置參數。

     

  4. 再次通過瀏覽器訪問查看效果,此時帶上userName參數頁面可以正常顯示並打印出結果值,但如圖所示,不帶參數的時候,頁面報錯,返回400,並提示userName不存在

    注解@RequestParam如何使用加與不加的區別

     

  5.  

    當然這樣的限制是可以選擇的,@RequestParam里添加required=false來關閉必須參數的限制,這樣就和第一種不帶注解的效果一樣了

     

    注解@RequestParam如何使用加與不加的區別

  6.  

    @RequestParam還可以在參數為空的情況下,為我們設置一個參數的默認值,如圖所示,可以看出來,沒有參數的情況下,獲取到的就是默認值

     

    注解@RequestParam如何使用加與不加的區別
  7.  

    默認參數的key名稱是方法里的參數名稱,但通過@RequestParam可以自定義另外一個,因為在某些條件下,方法名稱固定下來不可以修改了,但請求的參數又需要通過另外一個參數key名稱來傳遞,這樣就可以通過這樣的方式來實現

    注解@RequestParam如何使用加與不加的區別
    注解@RequestParam如何使用加與不加的區別


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM