我對XML的這一部分:Spring MVC的攔截器映射問題
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/statics/**" />
<bean class="com.company.website.servlet.StaticsHandlerInterceptor" />
</mvc:interceptor>
<mvc:interceptor>
<mvc:mapping path="/data/**" />
<bean class="com.company.website.servlet.AJAXHandlerInterceptor" />
</mvc:interceptor>
<mvc:interceptor>
<mvc:mapping path="/**" />
<bean class="com.company.website.servlet.PageHandlerInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
我有三個不同的攔截器是有原因的,雖然StaticsHandlerInterceptor
只是preHandle
方法返回true
(我的所有靜態內容(JS ,css等))。第二個是針對AJAX請求的。第三個是實際頁面。我所看到的是靜態和AJAX攔截器在它們應該被調用時被調用;然而,在他們看來,頁面攔截器總是被調用。我只想要爲頁面調用頁面攔截器。我如何做到這一點?
問題是我有像'〜/ index'和'〜/ preferences'這樣的URL。如果URL是'〜/ data/**',那麼這是一個AJAX請求。如果URL是'〜/ statics/**',那麼這是對靜態內容的請求。否則,這將是一個頁面的請求,我的頁面上沒有擴展名。 – Nik