struts多模块学习_仅供参考

来源:互联网 发布:淘宝下架的宝贝找不到 编辑:程序博客网 时间:2024/06/11 14:07

1.
  首先确定要搞的模块,比如:example模块,upload模块

2.
  配置web.xml

在struts默认模块下,如:
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
下加入自己的模块
    <init-param>
     <param-name>config/example</param-name>
     <param-value>/WEB-INF/struts-config-example.xml</param-value>
    </init-param>
    <init-param>
     <param-name>config/upload</param-name>
     <param-value>/WEB-INF/struts-config-upload.xml</param-value>
    </init-param>

3.
  jsp文件

在WebRoot下新建example和upload两个文件夹,在里面放上自己的.jsp文件,当然这两个文件夹名可以
和配置的不一样,我曾试过不一样的,模块少还好办,可以记得住,如果模块很多,如8,9个的化,这么做
就不提倡了

4.
  写action,form

这个就不说了。。。

5.
  写配置文件,如:struts-config-example.xml和struts-config-upload.xml
当然名字是可以自己取,但是名字要和web.xml中配置的相同,这个配置文件和默认的
struts-config.xml里配置方法一样,不再赘述。需要注意的是在每个模块中配置的forward中,
如果使用contextRelative="true"属性和不使用这个属性时,path的不一样,如:upload文件夹
下有个display.jsp文件,如果不使用,path="/upload.jsp",而使用则path="/upload/display.jsp"
使用可以明确知道display.jsp所在目录,当然不用也可以

6.
  在调用不同模块下的页面时最好是在被调用模块中转一下,特别是在jsp页面有form提交的时候,如:
默认模块的index.jsp中有个链接是到upload模块下的upload.jsp的,而upload.jsp中有form,
(<form action="/uploadaction.do?method=upload">)如果直接在index.jsp中调用这个页面,
会出错,所以最好在uploadaction中写个方法,这个方法只是return mapping.forward()的,
这样就会从默认模块跳到upload模块中。这么做还有个好处,就是页面的重复提交问题也可以
解决,重复提交就自己google吧。 

原创粉丝点击