SpringMVC路径支持ANT风格路径
ANT 通配符有以下三种:
?:表示任意的单个字符,但是不能表示 "/"、"?" 等路径中的特殊符号
//表示诸如 "/a1a/testAnt"、"/a2a/testAnt"、"/aba/testAnt"等格式的请求都可以匹配到下面的控制器方法
@RequestMapping("/a?a/testAnt")
public String testAnt(){
return "success";
}
*:表示任意的0个或多个字符
//表示诸如 "/aa/testAnt"、"/a2a/testAnt"、"/abba/testAnt"等格式的请求都可以匹配到下面的控制器方法
@RequestMapping("/a*a/testAnt")
public String testAnt(){
return "success";
}
**:表示任意的一层或多层目录,其中也可以不设置目录,注意在使用是只能使用 "/**/xxx" 方式
//表示诸如 "/a1a/testAnt"、"/a1a/a/a/a/a/a/a/testAnt"等格式的请求都可以匹配到下面的控制器方法
@RequestMapping("/**/testAnt")
public String testAnt(){
return "success";
}
SpringMVC支持路径中的占位符
SpringMVC路径中的占位符常用于RESTful风格中,当请求路径中将某些数据通过路径的方式传输到服务器中,就可以在相应的@RequestMapping注解的value属性中通过占位符{xxx}表示传输的数据,再通过@PathVariable注解,将占位符所表示的数据赋值给控制器方法的形参
原始方式:/deleteUser?id=1
rest方式:/deleteUser/1
<a th:href="@{/testRest/1/admin}">测试</a>
@RequestMapping("/testRest/{id}/{username}")
public String testRest(@PathVariable("id") String id, @PathVariable("username") String username){
System.out.println("id; " + id + ", username: " + username);
return "success";
}
控制台成功打印结果,并跳转页面