这到底是什么原因呢?
下面是我自己亲自做的实验:
<struts>
<package name="d1" namespace="/control/department" extends="struts-default" >
<global-results>
<result name="success">/WEB-INF/page/Message.jsp</result>
</global-results>
<interceptors>
<interceptor name="permissionInterceptor" class="cn.itcast.interceptor.PermissionInterceptor"/>
<interceptor-stack name="permissionInterceptors">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="permissionInterceptor"/>
</interceptor-stack>
</interceptors>
<action name="action1" class="cn.itcast.action.HelloWorldAction" method="excute">
<interceptor-ref name="permissionInterceptors"/>
</action>
<action name="action2">
<result>/WEB-INF/page/user.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*)".
原来这个package里元素必须按照一定的顺序排列
result-types
interceptors
default-interceptor-ref
default-action-ref
default-class-ref
global-results
global-exception-mappings
action*(就是所有的action放到最后)