Spring Boot的一個好處就是通過注解可以輕松獲取前端頁面的參數,之后可以將參數經過一系列處理傳送到后台數據庫。
獲得的方式有很多種,這里稍微總結一下,大致分為以下幾種:
1.指定前端url請求參數名與方法參數名一致
舉個例子,一個url請求http://localhost:8080/0919/test1?name=xxx&pwd=yyy,在指定的控制器類上加上Controller注解,同時指定RequestMapping注解即可。
當請求路徑參數與方法參數匹配上時會自動注入
啟動主程序,訪問瀏覽器出現下圖,表明注入參數成功,這種方式一般是get請求
2.通過HttpServletRequest來獲取前端頁面參數
簡單來說就是通過調用request的getParameter方法來獲取參數。
比如訪問路徑類似這樣http://localhost:8080/0919/test2?firstName=zhang&lastName=san
啟動主程序,訪問瀏覽器出現下圖,表明注入參數成功,這種方式也可以獲取表單參數,一般get和post請求都可以
3.第三種方式是通過創建一個JavaBean對象來封裝表單參數或者是請求url路徑中的參數
簡單來說就是將表單參數作為一個JavaBean類的屬性,通過設置方法參數為一個JavaBean對象,之后在方法中通過調用對象的get方法來獲取表單傳過來的參數
對應的JavaBean對象是下面這個
比如訪問路徑是這個http://localhost:8080/0919/test3?firstName=zhang&lastName=san
啟動主程序,在瀏覽器訪問見下圖,表明注入參數成功,這種方式如果請求的表單參數很多可以考慮使用這種方式
4.第四種方式是通過PathVariable注解來綁定請求路徑的參數
這種情況簡單來說就是url中采用動態綁定的形式表示,之后在方法中指定的參數通過PathVariable來將請求的url中的參數綁定到方法參數,這里在不指定PathVariable注解的具體值時按照請求路徑中的動態變量順序與注解順序一致即可注入 ,如果想指定注入,那么指定PathVariable注解的值與動態變量的名一致即可特定注入。
比如請求路徑是這個http://localhost:8080/0919/test4/111/222
啟動主程序,在瀏覽器訪問,出現下圖表明注入參數成功
5.第五種方式是通過RequestParam注解來獲取
這種方式是通過url路徑的形式將請求路徑上的參數綁定到方法的參數上,簡單來說就是實參值賦給相應的形參,與上面那種方式的區別是前者是動態url模板注入,這里是個普通的url請求注入·
比如訪問路徑是這個http://localhost:8080/0919/test5?aaa=111&bbb=4444
啟動主程序,訪問該請求,瀏覽器出現下面這個表明注入參數成功,這里可以通過指定RequestParam的value值來指定url請求路徑參數指定注入到哪個具體方法參數,不過一般兩者名字一致比較方便
6.第六種方式是通過ModelAttribute方式來注入參數
這種方式一般是通過在頁面展示,所以這里創建兩個頁面做測試test2.jsp和test3.jsp進行測試
簡單來說就是通過ModelAttribute注解將請求參數封裝到指定的JavaBean對象,同時通過value值將這個接受了表單參數的對象賦給value,
這里就是將s賦給了一個變量名為kkk的存在,之后就可以在jsp頁面通過這個變量名使用el表達式來獲取從表單傳過來的參數,
這里測試路徑是http://localhost:8080/0919/kkk,訪問在瀏覽器進行測試,見下圖
點擊提交,出現下圖,表明表單參數成功被后台接受並在前台頁面輸出,這種方式一般是需要在前台頁面輸出的時候使用
總結
總的來說Spring Boot獲取前端頁面參數的方式大致就上面這幾種,可以根據自己的實際情況來選擇其中的任意一種方式,個人一般推薦前三種方式,當然具體選哪種還是因人而異。