配置文件的分割:
原来Struts2只有一个配置文件,就算新建几个配置文件,项目运行时也只会运行struts.xml,所以就需要分割配置文件
第一步:
新建4个配置文件,可以更多
struts.xml 名字必须一模一样(因为项目运行默认执行struts.xml)
global.xml 这是一个项目全局错误的映射配置文件(也可以不用叫这个名字)
其他的就是自定义命名
第二步:操作global.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- name:当前配置文件的名字 namespace:struts的命名空间 extend:继承,这里继承struts的默认配置文件 -->
<package name="global" namespace="/" extends="struts-default">
<!-- 配置处理全局错误的结果 -->
<global-results>
<result name="error">error.jsp</result>
</global-results>
<!-- 全局的映射 -->
<global-exception-mappings>
<!-- 如果发现错误就返回error,然后上面就接收到返回值,做出相应的结果 -->
<!-- result:返回值 exception:捕抓什么错误 -->
<exception-mapping result="error" exception="java.lang.Exception"></exception-mapping>
</global-exception-mappings>
<!-- 还有错误就接着写-->
</package>
</struts>
操作Ywy.xml Wjq.xml 就是自定义的xml,可以有多个(操作action的配置都写到自定义配置文件中)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- extends:这里继承的是上面全局配置的name名-->
<package name="Wjq" namespace="/" extends="global">
<!-- action的配置-->
<action name="testAction2_*" class="com.ywy.action.TestAction2" method="{1}">
<result>index.jsp</result>
</action>
</package>
</struts>
操作struts.xml 在里面包含你的自定义xml和全局映射的xml,只做包含xml的代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 打开开发者模式 必须要写的-->
<constant name="struts.devMode " value="true"></constant>
<!-- 将这些配置文件包含起来-->
<include file="global.xml"></include>
<include file="Ywy.xml"></include>
<include file="Wjq.xml"></include>
</struts>
在配置全局的时候 自定义的xml文件继承全局的xml文件,然后 全局的里面再继承默认的xml文件,再在struts.xml包含这些文件