元素类型“拦截器”的内容必须匹配“(param)*”
问题描述:
我正在使用Maven工作struts2.5.5。元素类型“拦截器”的内容必须匹配“(param)*”
我在拦截器标签错误:
元素类型
"interceptor"
的内容必须在struts.xml的文件匹配"(param)*"
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<package name="default" namespace="/action" extends="struts-default">
<interceptors>
<interceptor name="authenticationInterceptor" class="AuthenticationInterceptor">
<interceptor-stack name="secureStack">
<interceptor-ref name="authenticationInterceptor"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptor>
</interceptors>
<action name="login">
<result>login.jsp</result>
</action>
<action name="LoginAction" class="LoginAction">
<result name="success" type="redirectAction">
<param name="actionName">task</param>
<param name="namespace">/action</param>
</result>
<result name="input">login.jsp</result>
</action>
</package>
</struts>
答
拦截元素未关闭:
<interceptor name="authenticationInterceptor" class="AuthenticationInterceptor">
因此它试图将<interceptor-stack>
声明作为正文,而他预计只有在该位置的<param>
元素。
只是自我密切标签:
<interceptor name="authenticationInterceptor" class="AuthenticationInterceptor" />