Java SpringMVC:基于注释的高级映射
我正在寻找一种根据数据库内容进行复杂URL映射的方法。例如,我显示了两个URL映射:Java SpringMVC:基于注释的高级映射,java,spring-mvc,annotations,url-routing,Java,Spring Mvc,Annotations,Url Routing,我正在寻找一种根据数据库内容进行复杂URL映射的方法。例如,我显示了两个URL映射: /{category}/ /{category}/{slug}/{id} 类别可以是,例如: apples, pears, lemons -> resolve to FruitListController, beans, onions, potatoes -> resolve to VegetableListController. 请注意,这些类别存储在数据库
/{category}/
/{category}/{slug}/{id}
类别可以是,例如:
apples, pears, lemons -> resolve to FruitListController,
beans, onions, potatoes -> resolve to VegetableListController.
- 请注意,这些类别存储在数据库中,可能会更改
<c:foreach="apples as apple"
<a href="${link AppleController:defaultView, ID = apple.id}">${apple.name}</a>
</c:foreach>
使用。他们可以访问以查看您的URL。解析程序可以执行数据库查找。水果WebArgumentResolver可以返回水果或返回未解析的结果。VegetableArgumentResolver可以返回一个蔬菜或返回未解决的。解析参数后,处理程序适配器可以映射到将特定类型作为参数的RequestMapping。比如说,
@RequestMapping("/{catagory}/{slug}")
public void fruitSlugList(Fruit fruit, @PathVariable("slug") String slug){
为了了解这方面的一个例子,我在这里发布了一篇博客文章,它使用了相同类型的机制:
感谢您提供的解决方案,尽管我不确定这篇博文与我的问题有何关联。这样定义可选参数是否可行?我还一直在考虑为给定的控件:视图生成URL——它是否提供了一些工具来生成它们?我不知道“生成URL”是什么意思。至于可选参数,如果它们是RequestParams,那么它们可以是可选的。博客文章只是展示了一个使用ArgumentResolver的示例。如果解决方案是好的,请接受答案(勾选)。