Spring MVC 的请求参数获取的几种方法

1、通过@PathVariabl注解获取路径中传递参数
JAVA
1     @RequestMapping(value="/updateProject/   {id}",method=RequestMethod.GET)
2     public ModelAndView helloWorld(@PathVariable String id,
3             @PathVariable String str) {
4         System.out.println(id);
5         System.out.println(str);
6         return new ModelAndView("/helloWorld");
7     }
JSP
<a href="<%=request.getContextPath() %>/project/updateProject/${project.id}.html">编辑</a>,注意后面的.html不能省.


2、用@ModelAttribute注解获取POST请求的FORM表单数据
说明:直接将页面中要提交的表单封装成BaseProject对象,直接供后台使用。
JSP
1 <form method="post" action="hao.do">
2 a: <input id="a" type="text"   name="a"/>
3 b: <input id="b" type="text"   name="b"/>
4 <input type="submit" value="Submit" />
5 </form>

JAVA pojo
1 public class Pojo{
2     private String a;
3     private int b;
4    
5

JAVA controller
1 @RequestMapping(method = RequestMethod.POST)
2     public String processSubmit(@ModelAttribute("pojo") Pojo pojo) {
3        
4         return "helloWorld";
5     }


3、直接用HttpServletRequest获取
JAVA
1     @RequestMapping(method = RequestMethod.GET)
2     public String get(HttpServletRequest request, HttpServletResponse response) {
4         System.out.println(request.getParameter("a"));
5         return "helloWorld";
6     }

4、用注解@RequestParam绑定请求参数a到变量a
当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决,
例如: @RequestParam(value="a", required=false)
JAVA
1     @RequestMapping(value = "/requestParam", method = RequestMethod.GET)
2     public String setupForm(@RequestParam("a") String a, ModelMap model) {
3         System.out.println(a);
4         return "helloWorld";}

你可能感兴趣的:(mvc,spring mvc,Spring 3.0)