1.普通请求
后台代码
@RequestMapping("edit")
public String edit(Integer id, Model model){
User user3 = new User();
user3.setId(id);
user3.setUserName("孙尚香");
user3.setAge(18);
user3.setBirthday(new Date());
model.addAttribute("user", user3);
return "edit";
}
页面路径
<a href="${pageContext.request.contextPath }/user/edit.do?id=${user.id }" type="button">修改</a>
2.将请求id加入到url中不用?或&拼接参数
后台代码
@RequestMapping("edit/{id}")
public String edit(@PathVariable Integer id, Model model){
User user3 = new User();
user3.setId(id);
user3.setUserName("孙尚香");
user3.setAge(18);
user3.setBirthday(new Date());
model.addAttribute("user", user3);
return "edit";
}
页面请求
<a href="${pageContext.request.contextPath }/user/edit/${user.id }.do" type="button">修改</a>
注:请求参数在URI之中需要在获取的参数前加@PathVariable注解,否则将获取不到数据,
3.实现restfull风格
前面已非常解决restfull了,但由于路径后还带有扩展名,现在需将扩展名去掉
在web.xml配置文件中配置拦截,将rest目录下所有请求都被拦截,servlet可以拦截目录
后台代码
@RequestMapping("edit/{id}")
public String edit(@PathVariable Integer id, Model model){
User user3 = new User();
user3.setId(id);
user3.setUserName("孙尚香");
user3.setAge(18);
user3.setBirthday(new Date());
model.addAttribute("user", user3);
return "edit";
}
页面请求
<a href="${pageContext.request.contextPath }/rest/user/edit/${user.id }" type="button">修改</a>