Spring MVC支持在路径中使用占位符来动态匹配URL中的部分内容,这样可以使URL更加灵活和可变。占位符可以作为路径变量,可以在处理器方法中获取并使用。
-
定义占位符 :在@RequestMapping注解中使用占位符,格式为
{placeholder},占位符可以是任意名称,如{id}、{name}等。 -
匹配路径 :占位符可以匹配路径中的一部分内容,例如"
/products/{id}"可以匹配"/products/123"、"/products/456"等路径。 -
获取路径变量 :在
处理器方法的参数中使用@PathVariable注解,可以获取占位符对应的值。
代码如下:
@Controller
@RequestMapping("/products")
public class ProductController {
@GetMapping("/{id}")
public String getProductById(@PathVariable Long id, Model model) {
// 根据id查询商品信息
Product product = productService.getProductById(id);
model.addAttribute("product", product);
return "productDetails";
}
}
在上面代码中,定义了一个ProductController类,使用@RequestMapping注解指定了基本路径"/products",并在@GetMapping注解中使用了占位符"{id}",表示匹配"/products/123"、"/products/456"等路径。在处理器方法getProductById中,通过@PathVariable注解将{id}占位符对应的值绑定到方法参数Long id中,从而可以在方法中使用这个路径变量。
原文链接: https://blog.csdn.net/2401_82884096/article/details/136984225