Spring3 MVC請求參數獲取的幾種方法
一、 通過@PathVariabl獲取路徑中的參數
@RequestMapping(value="user/{id}/{name}",method=RequestMethod.GET)
public String printMessage1(@PathVariable String id,@PathVariable String name, ModelMap model) {
System.out.println(id);
System.out.println(name);
model.addAttribute("message", "111111");
return "users";
}
例如,訪問user/123/lei路徑時,執行以上方法,其中,參數id=123,name=lei
二、 @ModelAttribute獲取POST請求的FORM表單數據
JSP表單如下:
<form method="post" action="hao.do">
a: <input id="a" type="text" name="a"/>
b: <input id="b" type="text" name="b"/>
<input type="submit" value="Submit" />
</form>
Java Pojo如下:
public class Pojo{
private String a;
private int b;
}
Java Controller如下:
@RequestMapping(method = RequestMethod.POST)
public String processSubmit(@ModelAttribute("pojo") Pojo pojo) {
return "helloWorld";
}
三、 直接用HttpServletRequest獲取
@RequestMapping(method = RequestMethod.GET)
public String get(HttpServletRequest request, HttpServletResponse response) {
System.out.println(request.getParameter("a"));
return "helloWorld";
}
四、 用註解@RequestParam綁定請求參數
用註解@RequestParam綁定請求參數a到變量a
當請求參數a不存在時會有異常發生,可以通過設置屬性required=false解決,
例如: @RequestParam(value=”a”, required=false)
Controller如下:
@RequestMapping(value = "/requestParam", method = RequestMethod.GET)
public String setupForm(@RequestParam("a") String a, ModelMap model) {
System.out.println(a);
return "helloWorld";
}
轉載自:leiOOlei 的博客。