視圖向控制器傳參@RequestMapping()和@RequestParam()


@RequestMapping()和@RequestParam()注解在spring-web-4.3.18.RELEASE.jar包下,當然可以是其他版本,所在包名如下:

 

@RequestMapping()

@RequestMapping()中的參數value的返回類型為String[],表示可以用多個地址來訪問,當只使用value屬性時,可以直接寫它的值

如下代碼表示訪問http://localhost:8080/index1和訪問http://localhost:8080/index2都可以成功訪問該方法

參數method不寫時,表示get請求和post請求都可以訪問

參數params表示必須要傳入的參數,然后才可以訪問該方法

如下代碼表示訪問時必須要傳入屬性為name的參數,即訪問http://localhost:8080/index?name=yanguobin才能成功訪問該方法

由於@RequestMapping注解也可以用於類上,注意,沒有使用@RequestMapping的方法不能訪問

@RequestParam()

@RequestParam()中的參數required默認為true,表示該參數是必須的

如下代碼表示必須要傳入屬性名為bbb的參數才可以訪問該方法,即http://localhost:8080/index?bbb=yanguobin才可以成功訪問

接着看一下如下代碼,當訪問http://localhost:8080/index時可以正常訪問,輸出null,即有點像@RequestParam()中的required設為了false;當訪問http://localhost:8080/index?bbb=yanguobin時,也可以成功訪問,輸出yanguobin;當訪問http://localhost:8080/index?aaa=ygb時,也可以正常訪問,輸出null,還是像@RequestParam()中的required設為了false

參數value表示傳來的參數的屬性名,當只使用value屬性時,可以直接寫它的值

如下代碼表示傳入的屬性名必須為aaa,即訪問http://localhost:8080/index?aaa=yanguobin才可以成功訪問

綜上所述,如下代碼必須要同時傳入屬性名為aaa和屬性名為ccc的參數才可以成功訪問,即訪問http://localhost:8080/index?aaa=yanguobin&ccc=ygb才可以成功訪問

然鵝ccc的值似乎無法獲取?


免責聲明!

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



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