Spring MVC 的请求参数获取的几种方法
通过@PathVariabl注解获取路径中传递参数JAVA
@RequestMapping(value
=
"
/{id}/{str}
"
)
public ModelAndView helloWorld(@PathVariable String id, @PathVariable String str) {
System.out.println(id);
System.out.println(str);
return new ModelAndView( " /helloWorld " );
}
public ModelAndView helloWorld(@PathVariable String id, @PathVariable String str) {
System.out.println(id);
System.out.println(str);
return new ModelAndView( " /helloWorld " );
}
用@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 >
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;
}
private String a;
private int b;
}
JAVA controller
@RequestMapping(method
=
RequestMethod.POST)
public String processSubmit(@ModelAttribute( " pojo " ) Pojo pojo) {
return " helloWorld " ;
}
public String processSubmit(@ModelAttribute( " pojo " ) Pojo pojo) {
return " helloWorld " ;
}
直接用HttpServletRequest获取
JAVA
@RequestMapping(method
=
RequestMethod.GET)
public String get(HttpServletRequest request, HttpServletResponse response) {
System.out.println(request.getParameter( " a " ));
return " helloWorld " ;
}
public String get(HttpServletRequest request, HttpServletResponse response) {
System.out.println(request.getParameter( " a " ));
return " helloWorld " ;
}
用注解@RequestParam绑定请求参数a到变量a
当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决,
例如: @RequestParam(value="a", required=false)
JAVA
@RequestMapping(value = " /requestParam " , method = RequestMethod.GET)
public String setupForm(@RequestParam( " a " ) String a, ModelMap model) {
System.out.println(a);
return " helloWorld " ;}