当ActionServlet请求接收请求它判断URL中相对与context的前缀例如上例中的admin于是就知道应该使用admin模块下面是strutsconfigadminxml
……
path=/admin
type=orgzhoudqwebappactionAdminAction >
……
这样以来所有的path设定将自动被加上login前缀例如必须使用以下的路径才可以正确的请求到AdminAction
http://localhost:/strutsmodel/admin/admindo
在模块中的Action在查找forward时都是以所在模块查找对应的strutsconfgXXXxml的例如上面的AdminAction在查找forward时则会查找strutsconfigadminxml中的forward元素也就是说模块中的forward对象的查找都是相对于模块的路径的而不是相对与环境上下文
那么我们模块分配工作几已经搞定了各个小组可以分别开工了但是问题来了那么如何从当前的模块换到另一个模块呢?
当您的项目分作很多个模块时在使用者点某个链接时您有两个方法可以在模块之间切换
一方法一
是使用相对与环境上下文的路径进行forward转发您可以在当前的strutsconfigXXxml如下设定例如是strutsconfigadminxml中加入
name=switchModuleToFront
contextRelative=true
path=/front/logindo
redirect=true/>
这个是全局可以找到的forward中设定的下面是在action元素中设定如何转发模块代码如下
……
path=/admin
type=orgzhoudqwebappactionAdminAction >
name=admin
contextRelative=true
path=/front/logindo
redirect=true/>
……
[] [] []