SpringMVC接受传递请求参数
在开始的web框架中,参数的接受是通过request.getParameter()来实现,在SpringMVC中同样可以使用该方法,那么此时我们的处理方法必须含有HttpServletRequest参数。但是在SpringMVC中提供了一种更简单的接受请求参数的方法 ,通过使用@RequestParam注解参数,将请求中的参数传递给注解的参数。
例如:通过HttpServletRequest来接受请求参数
@RequestMapping(“/login”)
public ModelAndView login(HttpServletRequest request)
{
String name=request.getParameter(“name”);
return new ModelAndView(“ok”,”name”,name);
}
使用@RequestParam注解
@RequestMapping(“/login”)
public ModelAndView login(@RequestParam(“name”)Stringname)
{
return new ModelAndView(“ok”,”name”,name);
}
注意:@RequestParam中的值必须与参数中的请求名相同。
在这里我们需要与@PathVariable做一个比较 :
@PathVariable与@RequestParam同样注解参数和接受请求参数值,但是@PathVariable表示接受请求路径的参数值,@RequestParam表示请求值(即表单提交的参数)。接下来看以下@PathVariable的用法示例:
<form action="register/hello"method="">
username:<input type="text" name="name"/><br/>
password:<input type="password" name="password"/><br/>
<input type="submit" value="register"/>
</form>
@RequestMapping("/register/{name}")
public ModelAndViewregister(@PathVariable String name)
{
System.out.println(name);
return newModelAndView("ok");
}
在@RequestMapping中使用了”{name}”,表示以register开头的请求后面可以接受一个任何值,我们在这里使用的是hello,那么此时helo就会被传递给name。