2013-08-02 39 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