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

来源:互联网 发布:java值传递 编辑:程序博客网 时间:2024/04/28 06:48

from:

http://www.blogjava.net/paulwong/archive/2012/03/23/372564.html


通过@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");
}


用@ModelAttribute注解获取POST请求的FORM表单数据

注意:使用@ModelAttribute时,后面对象必须是POJO,不能是基本类型(包换String)

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>


JAVA pojo
 public class Pojo{
 
private String a;
 
private int b;
}


JAVA controller
@RequestMapping(method = RequestMethod.POST)
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";
}


用注解@RequestParam绑定请求参数a到变量a
当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决,
例如: @RequestParam(value="a", required=false)

request: http://localhost:8080/requestParam?a=1

JAVA

@RequestMapping(value = "/requestParam", method = RequestMethod.GET)
public String setupForm(@RequestParam("a") String a, ModelMap model) {
 System.out.println(a);
return "helloWorld";}

0 0
原创粉丝点击