sPRing MVC中,后臺控制層獲取前臺的傳值主要有兩種方式, (1),利用 request.getParameter(“xx”);可以獲取前臺的所傳的值 (2),使用spring MVC的@requestParam注解 以下具體詳解: 前端頁面:
<form action="test2.do" method="post"> text1:<input type="text" name="text1" value = "text1"><br> text2:<input type="text" name="text2" value = "text2"><br> text3:<input type="text" name="text3" value = "text3"><br> <input type="submit" value="確定"> </form>controller:
@RequestMapping("/test2") public String gototest2(@RequestParam String text1 , HttpServletRequest req){ System.out.println("text1:"+text1); //點擊確定后輸出 text1 String text2= req.getParameter("text2"); System.out.println("text2:"+text2)); //點擊確定后輸出 text2 return null; }這里就驗證了這兩種方式,controller都可以接受到前臺所傳的參數(shù)值。 @requestParm 注解還有其他的一些屬性 value: 指定value屬性,當前臺沒有哪個標簽的name屬性和value相同時,則接受到的值為null,否則取值為標簽name屬性和value值相同的值,一般與required屬性一起使用。 required: 指定required屬性,就兩個取值true或false,表示的是是否需要有與value屬性值一致的標簽的name值,默認為true,如果沒有標簽的name值和value值一致,會報錯。 “ HTTP Status 400 - Required String parameter ‘a(chǎn)a’ is not present ” name: 指定name屬性,當name的值是前臺某個標簽的name值時,那么所傳遞過來的值就是該標簽對應(yīng)的值,比如,前臺頁面還是上面的頁面,controller如下:
@RequestMapping("/test2") public String gototest2(@RequestParam(name="text3") String text1 ){ System.out.println("text1:"+text1); //點擊確定后輸出 text3 }defaultValue: 指定defaultValue屬性,表示當設(shè)置value屬性時,前臺沒有哪個標簽的name屬性值和value屬性值相同,則所接收的值就是defaultValue屬性所設(shè)置的值,比如,前臺頁面還是上面的頁面,controller如下:
@RequestMapping("/test2") public String gototest2(@RequestParam(defaultValue="aa",value="bb",required=true)String text1,HttpServletRequest req){ System.out.println("text1:"+text1); //點擊確定后輸出 aa return null; }新聞熱點
疑難解答