The content of element type "package" must match "(result-types?,interceptors?,d

在编写后台登陆模块时,将许多默认的设置放在一个名为default的package
里。然后再定义其他package继承该包。之前我的struts.xml配置如下
<struts>
    <constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" />
    <constant name="struts.devMode" value="true" />
   
    <package name="exam_default" extends="struts-default" namespace="/">
        <!--自定义拦截器及拦截器栈-->
        <interceptors>
            <!--用户认证拦截器-->
            <interceptor name="authentication" class="action.admin.AuthenticationInterceptor"/>
             <!--用户认证拦截器栈,用于防止用户非法访问-->
            <interceptor-stack name="user" >
                <interceptor-ref name="authentication" />
                <interceptor-ref name="defaultStack"/>
            </interceptor-stack>
            <interceptor-stack name="guest" >
                <interceptor-ref name="defaultStack"/>
            </interceptor-stack>
        </interceptors>
        <!--全局异常映射-->
        <global-exception-mappings>
            <exception-mapping result="error" exception="java.lang.Exception"/>
        </global-exception-mappings>
       <!--全局result-->
        <global-results>
            <result name="error">/error.jsp</result>
        </global-results>
    </package>
   
    <package name="admin" extends="exam_default" namespace="/admin">
        <action name="login" class="login">
            <result type="redirectAction">index</result>
        </action>
        <action name="index">
            <result>index.jsp</result>
        </action>
    </package>
</struts>
      各位,谁看出来这哪里错了吗??反正最开始我是没看出来。一运行程
序来个错误。
“The content of element type "package" must match "(result-types?,interceptors?,default-interceptor-ref?,default-action-ref?,default-class-ref?,global-results?,global-exception-mappings?,action*)". ”
刚看到这个错误我就想,哪个也没写错呀。仔细对了好几遍也没发现哪个属
性写错了。最后Google了一下,看了别人写的文章豁然开朗了。

     这个错误的意思是,package里元素必须按照一定的顺序排列。这个顺序
就是
result-types
interceptors
default-interceptor-ref
default-action-ref
default-class-ref
global-results
global-exception-mappings
action*(就是所有的action放到最后)

你可能感兴趣的:(Interceptor)