2011-02-07 79 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>