2011-02-07 77 views
1

我使用spring 3.0.5 MVC並試圖爲指定路徑/fx定義LoginInterceptor。我擡起頭,發現使用的方式是:spring 3.0.5如何定義具有可配置URI路徑的攔截器

<mvc:interceptors> 
    <!-- Changes the locale when a 'locale' request parameter is sent; e.g. /?locale=de --> 
    <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" /> 
    <mvc:interceptor> 
     <mapping path="/fx"/> 
     <bean class="com.fxiapi.auth.LoginInterceptor" /> 
    </mvc:interceptor> 
</mvc:interceptors> 

我想使用此除登錄頁面以外的任何頁面的某些URI。他們是一種忽略登錄頁面URI的方式。此外,使用這是我得到以下異常:

2011-02-07 11:04:22756 ERROR HTTP-0.0.0.0-8680-1上下文初始化失敗 org.springframework.beans.factory.xml .XmlBeanDefinitionStoreException:來自ServletContext資源的XML文檔中的第31行[/WEB-INF/spring/appServlet/servlet-context.xml]無效;嵌套異常是org.xml.sax.SAXParseException:cvc-complex-type.2.4.a:發現無效的內容是從元素'mapping'開始的。預計會有'{「http://www.springframework.org/schema/mvc":mapping}'之一。 在org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396)

是否有人可以幫忙嗎?如果我不能使用標籤,那麼替代品是什麼?

+0

你的XML定義不正確。我無法從提供的信息中瞭解更多。 – Bozho 2011-02-07 20:52:36

+0

看來你的xml配置格式不正確。你可以發佈嗎?另外,看看XSD驗證你的XML配置 - 它會告訴你如何正確地形成它 – 2011-02-07 20:54:36

回答

4

錯誤消息告訴你什麼是錯的 - 你需要的<mapping>元素也對命名空間前綴:

<mvc:interceptor> 
    <mvc:mapping path="/fx"/> 
    ... 
</mvc:interceptor>