错误描述:
Caused by: 元素类型为 "package" 的内容必须匹配 "(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*这样的顺序放置
解决办法(观察下列蓝色代码位置):
<?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="defalt" namespace="/" extends="struts-default">
<!-- 通配默认action -->
<default-action-ref name="index"></default-action-ref>
<!-- struts2.5和sturts2.3区别,2.5必须加上 <global-allowed-methods>regex:.*</global-allowed-methods>
否则找不到路径 -->
<global-allowed-methods>regex:.*</global-allowed-methods>
<!-- 正常配置action映射 -->
<action name="helloworld" class="com.structs.demo.HelloWorldAction">
<result>/result.jsp</result>
</action>
<!-- 通配符配置动态action映射 -->
<action name="mathematics_*" method="{1}"
class="com.structs.demo.HelloWorldAction">
<result>/result.jsp</result>
<result name="add">/{1}.jsp</result>
<result name="subtract">/{1}.jsp</result>
<result name="multiply">/{1}.jsp</result>
<result name="divide">/{1}.jsp</result>
</action>
<!-- 通配默认action -->
<action name="index">
<result>/index.jsp</result>
</action>
</package>
</struts>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<package name="defalt" namespace="/" extends="struts-default">
<!-- 通配默认action -->
<default-action-ref name="index"></default-action-ref>
<!-- struts2.5和sturts2.3区别,2.5必须加上 <global-allowed-methods>regex:.*</global-allowed-methods>
否则找不到路径 -->
<global-allowed-methods>regex:.*</global-allowed-methods>
<!-- 正常配置action映射 -->
<action name="helloworld" class="com.structs.demo.HelloWorldAction">
<result>/result.jsp</result>
</action>
<!-- 通配符配置动态action映射 -->
<action name="mathematics_*" method="{1}"
class="com.structs.demo.HelloWorldAction">
<result>/result.jsp</result>
<result name="add">/{1}.jsp</result>
<result name="subtract">/{1}.jsp</result>
<result name="multiply">/{1}.jsp</result>
<result name="divide">/{1}.jsp</result>
</action>
<!-- 通配默认action -->
<action name="index">
<result>/index.jsp</result>
</action>
</package>
</struts>
OK解决;