首页 > 代码库 > Spring MVC 的请求参数获取的几种方法

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

通过@PathVariabl注解获取路径中传递参数
JAVA
1     @RequestMapping(value = "http://www.mamicode.com/{id}/{str}")
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     }
用@ModelAttribute注解获取POST请求的FORM表单数据
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="http://www.mamicode.com/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     }
直接用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     }

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

 

用JSR-303校验获取参数也可以!

用@Valid获取参数也可以

@Valid User User//实体设置+类+类的引用 直接将页面传过来的user对象中的信息封装到里面去了

    @RequestMapping(value="http://www.mamicode.com/register",method=RequestMethod.POST)
    public ModelAndView userRegister(@Valid User user,HttpServletRequest request,HttpServletResponse response){
        HttpSession session = request.getSession();
        user.setUsername(user.getUsername());
        user.setPassword(user.getPassword());
        user.setClassroom(user.getClassroom());
        user.setPhone(user.getPhone());
        user.setAddress(user.getAddress());
        session.setAttribute("model", user);
        userService.AddUser(user);
        return new ModelAndView("index");
    }

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