@RequestMapping("something.do")
public ModelAndView something(HttpServletRequest request){
String something = request.getAttribute("something");
String something = request.getParameter("something");
}
@RequestMapping("something/{id}.do")
public ModelAndView something(@PathVariable("id")int id){
}
在路径里面用{}标出需要的变量, 然后用注解@PathVariable就可以获得,例如/something/1.do,id就被赋值为1
- 使用注解@RequestParam, @RequestAttribute等
@RequestMapping("something.do")
public ModelAndView something(@RequestParam("id")String id,){
}
这里和
int id = request.getParameter("id");
效果是一样的
- 自动注入
这个方法很常用,而且非常方便,下面举个栗子:
这里有一个数据类:
public class Data {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
在一个form表单中同样有这两项,那么这个时候就可以用自动注入了(这样的场景很常见,后台数据库的数据和前台表单往往是一一对应的),用法如下:
@RequestMapping("something.do")
public ModelAndView addCate(Data data){
}
没错,只需要将对应的类传进去,只要和表单或者地址栏的参数(?id=...&name=...)一一对应,springmvc就可以自动注入,可以省很多的事!