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

字体大小: 中小 标准 ->行高大小: 标准
一、 通过@PathVariabl获取路径中的参数

复制代码
@RequestMapping(value="user/{id}/{name}",method=RequestMethod.GET)
public String printMessage1(@PathVariable String id,@PathVariable String name, ModelMap model) {

System.out.println(id);
System.out.println(name);
model.addAttribute("message", "111111");
return "users";
}
复制代码
例如,访问user/123/lei路径时,执行以上方法,其中,参数id=123,name=lei



二、 @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>


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获取

@RequestMapping(method = RequestMethod.GET)
public String get(HttpServletRequest request, HttpServletResponse response) {
System.out.println(request.getParameter("a"));
return "helloWorld";
}


四、 用注解@RequestParam绑定请求参数

用注解@RequestParam绑定请求参数a到变量a

当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决,

例如: @RequestParam(value="a", required=false)

Controller如下

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

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/69984.html