首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Spring MVC拦截器中使用URI模板?

如何在Spring MVC拦截器中使用URI模板?
EN

Stack Overflow用户
提问于 2012-07-14 07:02:58
回答 1查看 743关注 0票数 3

我有一个类似于下面示例的控制器uri层次结构。

代码语言:javascript
代码运行次数:0
运行
复制
@RequestMapping(value="company/{id}")
public abstract class BaseCompanyController 
{
  // variety of helper methods, protected autowired objects 
}

@Controller
@RequestMapping(value = "company/{id}/documents")
public class DocumentsController extends BaseCompanyController
{
  // document controller methods 
   @RequestMapping(value="something",.... etc)
   public void doSomething(){}
}

@Controller
@RequestMapping(value = "company/{id}/financials")
public class FinancialsController extends BaseCompanyController
{
  // financials controllers methods 
}

我想要做的是定义一些代码,在任何子控制器中的任何处理程序方法之前执行。例如,我想在DocumentsController上调用doSomething方法之前运行一些代码。对于特定的URI层次结构,我要做的事情是唯一的。

如果我使用拦截器在处理程序方法之前执行,我如何从URI中提取URI参数,比如/ company /{ id }中的公司id?我真的不想手动裁剪URL吗?

拦截器是否可以通过/company/{id}之类的URI缩小范围拦截器映射是否理解URI模板?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-14 18:34:53

您只能对某些URI使用拦截器,并对每个URI使用<mvc:mapping/>path属性:

代码语言:javascript
代码运行次数:0
运行
复制
<mvc:interceptors>
    <mvc:interceptor>
        <mvc:mapping path="/company/*/documents" />
        <bean class="com.mypackage.DocumentsInterceptor" />
    </mvc:interceptor>
</mvc:interceptors>

参考here

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

https://stackoverflow.com/questions/11479434

复制
相关文章

相似问题

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