好高兴,今天终于把Struts多模块的配置问题搞定,一个人看书摸索真的好痛苦,这个问题缠绕我三天了。。。
流程:
首先在WEB-INF文件下建立一个你的相关模块的xml文件,有多少个模块,就创建多少个xml文件,每个xml文件对应一个模块。xml文件中配置了其相对模块的信息。注:一般xml文件的命名采用:struts-config-XXX.xml(XXX表示模块名字)
然后在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/firstmodule</param-name>
<param-value>/WEB-INF/firstmodule/struts-config-firstmodule.xml</param-value>
</init-param>
如上所示,该代码声名了一个叫firstmodule的模块,其中config的前缀是必须的:config/XXX,在<param-value>标记中录入该模块配置文件相对于WebRoot的路径。
好了,到这里我们已经成功了一半了HOHO(happy一下)
最后哦,当然,有了模块不能访问,那拿模块来干嘛~
要访问模块内的资源,只需要在跳转到模块的时候前面加上模块名,
如:
<forward name="to firstmodule"
contextRelative="true"
path="/firstmodule/firstmodule.do"
redirect="true"
>
</forward>
个人推荐这种方法,不喜欢用SwitchAction。
注意,在,模块中跳转时不需要加模块名。
模块给程序员带来了很多方便,让并行开发成为了可能(多个模块同时开始<在大性项目中常常>)
我在模块配置的时候调了三天多的代码才搞定,总是报空指针异常,郁闷了三天,最后终于找出来了,原来在我重定向的网页的Action中,我作了取出信息的操作,而此时从默认模块跳转过来,并未有任何信息,而我在后面代码中又把存储该信息的变量取出来进行比较,(居然用null去比较,我发现我真的细心的可以了。。。)以后不能犯如此恶心的问题了,加油~
posted on 2006-07-31 14:57
枫中玎玲 阅读(427)
评论(1) 编辑 收藏 所属分类:
Struts