2013-08-02 35 views
1

最初的目的是能够使用注释(即下面的@FilteredBy)配置过滤器映射,而不是将过滤器映射添加到web.xml文件。类似:寻找一种将方面应用到spring-mvc控制器方法的方法

@Controller 
public class MyController {  
@RequestMapping(value = "/special/page.html") 
@FilteredBy("SpecialBean") // <-- *** desired *** 
public String doSpecialStuff() { 
    return "special/page"; 
} 
} 

我看到的Servlet 3.0引入@ServletFilter可以应用于任何物体的方法和映射由@FilterMapping定义。但是,我想反转映射到控制器方法的职责,消耗我的“SpecialBean”的共享逻辑。

+0

我还应该注意到我被困在Tomcat 5.5(Servlet 2.4 API)上,但能够将Spring 3.0.x引入到项目中。 – i3ensays

回答

0

为什么不使用你的spring context xml。如果您使用mvc:annotation,则可以尝试此操作。

<mvc:interceptors> 
     <mvc:interceptor> 
     <mvc:mapping path="/filtered/page.htm" /> 
     <bean class="com.yourinterceptor" /> 
     </mvc:interceptor> 
    </mvc:interceptors> 
+0

这是一种替代方案,但我正在寻找基于注解的解决方案。我正在努力将新代码捆绑到模块中,并且让每个模块都包含自己的配置,而不是在父项目中维护一个xml文件。 – i3ensays

+0

问题的第二个答案有一些线索,我认为你。 http://stackoverflow.com/questions/4389224/is-it-possible-to-wire-a-spring-mvc-interceptor-using-annotations。你有机会检查这个吗? – ArunM