读书人

Struts的模块运用实例

发布时间: 2012-11-15 15:16:15 作者: rapoo

Struts的模块使用实例


……

这样以来所有的path设定将自动被加上login前缀,例如必须使用以下的路径才可以正确的请求到AdminAction:

http://localhost:8080/strutsmodel/admin/admin.do

在模块中的Action在查找forward时,都是以所在模块,查找对应的struts-confg-XXX.xml的,例如上面的AdminAction在查找forward时,则会查找struts-config-admin.xml中的forward元素,也就是说,模块中的forward对象的查找都是相对于模块的路径的,而不是相对与环境上下文。

那么我们模块分配工作几已经搞定了,各个小组可以分别开工了,但是问题来了,那么如何从当前的模块换到另一个模块呢?

当您的项目分作很多个模块时,在使用者点某个链接时,您有两个方法可以在模块之间切换。

一、方法一

是使用相对与环境上下文的路径进行forward转发,您可以在当前的struts-config-XX.xml如下设定,例如是:struts-config-admin.xml中加入:

name="switchModuleToFront"
name="admin"?

contextRelative="true"?

path="/front/login.do"?

redirect="true"/>

……

上面这种配置就是通过forward元素转换到相应的模块,下面我们看另一种方法吧。

二、方法二

这种方法是我们通过配置Struts的一个特定的类SwitchAction,就能实现上面的要求了。并且需要两个参数:

1. prefix:用来指定模块的后缀名称

2. page:用来指定你的资源路径。

例如:

……

path="/switch"?

type="org.apache.struts.actions.SwitchAction"/>

……

例如:

http://localhost:8080/strutsmodel/switch.do?prefix=/admin&page=/admin.do

这个是访问我们后台模块的admin.do资源。

读书人网 >软件架构设计

热点推荐