当项目很庞大时,如果只用一个struts.xml文件显然不行,需要将配置文件按功能归类,放入不同的文件夹,然后让最初的struts.xml文件include其他即可。
在src目录下新建struts.xml,作为主要的配置文件,然后在src下新建一个res的文件夹,存放配置文件,可以是spring的也可以是struts的,在res里面新建struts文件夹,这里创建一个登录功能,所以就新建一个struts-login.xml,创建res下的子目录时,要注意文件夹位置的选择,比如struts文件夹,如下图:
这是刚建好res文件夹的情形:
然后右击res,然后new一个folder,名字是struts,最后会出现如下情形:
估计是引文res下只有一个文件夹吧,如果再在res下创建一个文件夹,如spring,就会正常显示了。右击res.struts,new一个folder名字是beans,这里要注意一下beans的位置,默认在struts目录下,要手动调整,如下图:
可以在目录树上面选中,也可以在目录树上的输入框内调整。建立成功后如下图:
最后回到之前的项目来,项目图如下:
struts.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.action.extension" value="do,action"/>
<package name="index" extends="struts-default">
<action name="index" class="com.action.LoginAction" method="index">
<result name="success">/WEB-INF/jsp/index.jsp</result>
</action>
</package>
<include file="res/struts/struts-*.xml"/>
</struts>
用include来引入其他子配置文件。
struts-login.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>
<package name="login" extends="struts-default">
<action name="loginform" class="com.action.LoginAction" method="loginform">
<result name="success">/WEB-INF/jsp/login/login.jsp</result>
</action>
<action name="login" class="com.action.LoginAction" method="login">
<result name="success">/WEB-INF/jsp/success.jsp</result>
</action>
</package>
</struts>
这是与登录相关的struts配置。
其他的配置文件也如是管理,可以减轻维护的困难。
项目源码:
http://pan.baidu.com/s/1c0TqKus