Skip to content

SpringMVC支持ant风格的路径

?:表示任意的单个字符

java
<a th:href="@{/a1a//testAnt}">测试Ant风格的路径:?:表示任意的单个字符</a><br/>

@RequestMapping("/a?a/testAnt")//?:表示任意的单个字符
public String testAnt() {
    return "target";
}

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

java
<a th:href="@{/aaaa//testAnt}">测试Ant风格的路径:*:表示任意的0个或多个字符</a><br/>

@RequestMapping("/a*a/testAnt")//*:表示任意的0个或多个字符
public String testAnt() {
    return "target";
}

**:表示任意的一层或多层目录

java
<a th:href="@{/aa/aa/testAnt}">测试Ant风格的路径:**:表示任意的一层或多层目录</a><br/>
<a th:href="@{/aa/testAnt}">测试Ant风格的路径:**:表示任意的一层或多层目录</a><br/>

@RequestMapping("/**/testAnt")//**:表示任意的一层或多层目录
public String testAnt() {
    return "target";
}

注意:在使用**时,只能使用/**/xxx的方式

SpringMVC支持路径中的占位符{}

原始方式:/deleteUser?id=1

rest方式:/deleteUser/1

SpringMVC路径中的占位符常用于RESTful风格中,当请求路径中将某些数据通过路径的方式传输到服务器

中,就可以在相应的@RequestMapping注解的value属性中通过占位符{xxx}表示传输的数据,再通过

@PathVariable注解,将占位符所表示的数据赋值给控制器方法的形参

java
<a th:href="@{/testpath/1}">SpringMVC支持路径中的占位符->testpath</a><br/>

//路径的请求参数用{}来表示占位符
@RequestMapping(value = "/testpath/{id}")
public String testpath(@PathVariable("id")Integer id) {//@PathVariable("id")Integer id 获取请求参数的值
    System.out.println(id);
    return "target";
}

请求参数多个:

java
<a th:href="@{/testpath/1/admin}">SpringMVC支持路径中的占位符->testpath</a><br/>

//路径的请求参数用{}来表示占位符
@RequestMapping(value = "/testpath/{id}/{username}")
public String testpath(@PathVariable("id")Integer id,@PathVariable("username")String username) {//@PathVariable("id")Integer id 获取请求参数的值
   System.out.println(id);
   System.out.println(username);

   return "target";
}