Spring 4的动态URL结构

时间:2016-01-25 02:03:43

标签: spring url

我们有一个Spring MVC webapp,我们的产品URL结构需要SEO友好。例如www.mydomain.com/ {productname}。每次我们向库存添加产品时,我们都希望使用URL来显示这些产品详细信息。

我们无法确定如何使用Spring Controller Resource路径生成动态URL。

有人可以帮助我们吗。

非常感谢您的帮助。

由于 拉吉

2 个答案:

答案 0 :(得分:1)

像www.mydomain.com/ {productname}这样的Spring URL结构似乎意味着'productname'始终是唯一的。如果是这样,每个产品都可能有一个名为“name”或“productname”的属性;此属性可用于检索控制器方法中的相关产品。这只有在每个'productname'都是唯一的时才有效。

答案 1 :(得分:1)

您要找的是URI Template Patterns。在Spring MVC中,@PathVariable注释用于将参数绑定到URI模板变量的值。

@RequestMapping(path="/{productname}", method=RequestMethod.GET)
public String findProduct(@PathVariable String productname, Model model) {
    List<Product> product = productService.findProductsByName(productname);
    model.addAttribute("product", product);
    return "displayProduct";
}

请注意,服务电话会返回List<Product>而不是Product,因为理想情况下,产品名称并非一个项目唯一。如果您希望URI仅识别一个产品,请确保产品名称仅对一个产品是唯一的。