SpringMVC支持ant风格路径/路径中的占位符

261 阅读1分钟
SpringMVC支持ant风格路径

?:表示任意的单个字符

@RequestMapping("/a?a/testAnt")
  public String testAnt(){
   return "success";
}
<a th:href="@{/hello/a1a/testAnt}">测试@RequestMapping可以匹配ant风格的路径</a>

?位置不能不写,? / 也不行 (暂时知道这两个)

*:表示任意的0个或多个字符

@RequestMapping("/a*a/testAnt")
  public String testAnt(){
   return "success";
}
<a th:href="@{/hello/a123a/testAnt}">测试@RequestMapping可以匹配ant风格的路径</a>

**:表示任意层目录,可以为零

这个有使用要求,只能单独的使用在两个 '/' 之间,不然会被解析为两个单独的 '*'

@RequestMapping("/**/testAnt")
  public String testAnt(){
   return "success";
}
SpringMVC支持路径中的占位符

原始方式:/deleteUser?id=1

rest方式:/deleteUser/1

SpringMVC路径中的占位符常用于restful风格中,当请求路径中将某些数据通过路径的方式传输到服务器中,就可以在相应的@RequestMapping注解的value属性中通过占位符(xxx)表示传输的数据,在通过@PathVariable注解,将占位符所表示的数据赋值给控制器方法的形参

@RequestMapping("/testPath/{id}")
public String testPath(@PathVariable("id") Integer id){
    System.out.println("id"+id);
    return "success";
}

如果我们使用占位符,那么如果不带参数访问的话会报404