首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring :基于高级注释的映射

Spring :基于高级注释的映射
EN

Stack Overflow用户
提问于 2012-02-08 23:00:43
回答 1查看 1.1K关注 0票数 1

我正在寻找一种方法,使复杂的URL映射将取决于数据库的内容。例如,我显示了两个URL映射:

代码语言:javascript
复制
    /{category}/
    /{category}/{slug}/{id}

例如,类别可以是:

代码语言:javascript
复制
    apples, pears, lemons -> resolve to FruitListController, 
    beans, onions, potatoes -> resolve to VegetableListController.
  • 请注意,这些类别存储在数据库中,可能会被更改。

如果我有另外的段塞和id,如果它们存在的话,必须对照数据库检查它们。

我是否可以以某种方式编写某种“类别处理程序”,以返回相应的类别和相关控制器?

显然,这是翻译URL ->请求的一个问题。另外,是否有一种方法可以以类似的方式向后生成请求-> URL?我想在模板中找到这样的东西:

代码语言:javascript
复制
  <c:foreach="apples as apple"
       <a href="${link AppleController:defaultView, ID = apple.id}">${apple.name}</a>
  </c:foreach>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-08 23:30:35

使用WebArgumentResolvers。他们可以访问WebRequest来查看你的网址。解析器可以执行数据库查找。FruitWebArgumentResolver可以返回一个水果或返回未解决的。VegetableArgumentResolver可以返回蔬菜或返回未解决的。参数解析后,处理程序适配器可以映射到以特定类型作为参数的RequestMapping。例如,

代码语言:javascript
复制
@RequestMapping("/{catagory}/{slug}")
public void fruitSlugList(Fruit fruit, @PathVariable("slug") String slug){

要查看这方面的示例,我在这里有一篇使用相同类型机制的博客文章:http://www.adamweigold.com/2012/01/using-multpartrequestresolvers-with.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9202888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档