springMVC参数的传递方式
转载
- 通过@PathVariabl注解获取路径中传递参数
JAVA
1 @RequestMapping(value = "/{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 = " 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(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";}
- 通过@PathVariabl注解获取路径中传递参数
JAVA
1 @RequestMapping(value = "/{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 = " 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(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";}