spring 3.0.5如何使用可配置的URI路径定义拦截器

时间:2011-02-07 20:50:16

标签: spring-mvc path uri interceptor

我正在使用spring 3.0.5 MVC并尝试为指定的路径LoginInterceptor定义/fx。我抬起头,发现使用方法是:

<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:22,756 ERROR http-0.0.0.0-8680-1上下文初始化失败   org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:来自ServletContext资源[/WEB-INF/spring/appServlet/servlet-context.xml]的XML文档中的第31行无效;嵌套异常是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)

有人可以帮忙吗?如果我不能使用标签,交替的是什么?

1 个答案:

答案 0 :(得分:4)

错误消息告诉您错误 - 您还需要<mapping>元素上的命名空间前缀:

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