在编写后台登陆模块时,将许多默认的设置放在一个名为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放到最后)
:oops: :shock:
里。然后再定义其他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放到最后)
:oops: :shock: