以前(真正的实现团队开发之前)的项目是在JB中开发的,并且是多人共用一个struts-config文件,这样,每次合并的时候都得靠手工粘贴复制来完成,这样当然是不行的了。所以我们需要使用多个struts-config文件,每个开发人员或模块使用一个struts-config文件。下面就说下在MyEcliopse中如何建立和使用多个struts-config文件。
1、 在web-info中新建一个struts mode,具体操作为:右键选择“new”|“other”,在弹出的新建对话框中选择“My Eclipse”|“Web-Struts”|“Struts 1.1 ” |“Struts 1.1 Mode”,当然,前提是你使用的Struts为1.1了,如果你的工程还没配Struts,那么就选中工程名,然后选择“MyEclipse”|“Add Struts Capabilities”进行配置,具体步骤不详谈了。
2、 继续来说添加Struts的问题。选中Struts1.1 Mode之后,点击Next,在弹出的窗口中选择工程,然后输入Mode的名称,Config Path就自动生成了。
3、 点击Finish,这样Web-Info中就多出一个Struts-ConfigXXX.xml的文件,同时web.xml也自动添加了一些东西:
<init-param>
<param-name>config/zhang</param-name>
<param-value>/WEB-INF/struts-config-zhang.xml</param-value>
</init-param>
4、 这样的话,在用MyEclipse创建Form和Action时选择这个Struts-Config就可以使用了,需要注意的是,在Form 的Action中需要加上Mode名称,如:<Form action=”zhang/testAction.do”>。但经过我的实验发现,当表单所在的jsp页面根目录下时是可以正常使用,但如果它是在某个子目录下,就报错误。经过反复实验,总算找到了解决方案:把原来Web.xml中的代码
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml </param-value>
</init-param>
<init-param>
<param-name>config/zhang</param-name>
<param-value>/WEB-INF/struts-config-zhang.xml</param-value>
</init-param>
改为:
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml,/WEB-INF/struts-config-zhang.xml </param-value>
</init-param>
这样,这两个Struts-Config就位于一个Mode之下了,在使用的时候也就不用考虑Mode名称的问题了。需要注意的是,两个Struts-Config之间用逗号隔开。
到此,多个Struts-Config就基本上完成了,在使用时(用Eclipse创建Form时)选择你要用的Struts-Config就OK了。