的模块使用实例的
在使用Struts框架时,每个请求都由Action去处理,并且还要在l中加以设定,这样以来做小项目还行,在大型站的开发中,有很多小组负责不同的模块,如果每一个小组要对一个l进行设定,将会导致l的版本控制问题。您可以为每个小组分配不同的l设定文件,方法是在ActionServlet参数的config参数后面加上后缀,如果是config/admin,那么相应的配置文件的名字就是:struts-config-admin,他们的后缀名字必须对应,这样才能映射上。
例如,我们可以把后台处理分配一个小组,设定具体代码如下所示:l
servlet
servlet-nameaction/servlet-name
tionServlet/servlet-class
init-param
param-nameconfig/param-name
param-value/WEB-INF/conf/l/param-value
/init-param
init-param
param-nameconfig/admin/param-name
param-value/WEB-INF/conf/l/param-value
/init-param
init-param
param-namedebug/param-name
param-value3/param-value
/init-param
init-param
param-namedetail/param-name
param-value3/param-value
/init-param
load-on-startup0/load-on-startup
/servlet
config/admin:指定了admin模块的所使用的配置文件是l,现在负责后台模块的开发人员只要管理自己的开发文档设定就行了,就像前面所说的一样,当ActionServlet收到请求时,它是根据模块你所指定的后缀,进行处理是哪个模块的请求。
例如:
这个URL,表示请求由strutsmodel工程的admin环境的来处理这个请求。这样以来前台和后台就分明了,各自开发各自的,各自管理自己的配置文件,达到松耦合的目的。
当ActionServlet请求接收请求,它判断URL中相对与context的前缀,例如上例中的admin,于是就知道应该使用admin模块。下面是l:
……
action
path=\"/admin\"
type=\"minAction\"
forward name=\"admin\" path=\"/p\" /
/action
……
这样以来,所有的path设定将自动被加上login前缀,例如必须使用以下的路径才可以正确的请求到AdminAction:
在模块中的Action在查找forward时,都是以所在模块,查找对应的l的,例如上面的AdminAction在查找forward时,则会查找l中的forward元素,也就是说,模块中的forward对象的查找都是相对于模块的路径的,而不是相对与环境上下文。
那么我们模块分配工作几已经搞定了,各个小组可以分别开工了,但是问题来了,那么如何从当前的模块换到另一个模块呢?
当您的项目分作很多个模块时,在使用者点某个链接时,您有两个方法可以在模块之间切换。
一、方法一
是使用相对与环境上下文的路径进行forward转发,您可以在当前的l如下设定,例如是:l中加入:
global-forwards
forward
name=\"switchModuleToFront\"
contextRelative=\"true\"
path=\"/front/\"
redirect=\"true\"/
/global-forwards
这个是全局可以找到的forward中设定的,下面是在action元素中设定如何转发模块,代码如下:
……
action
path=\"/admin\"
type=\"minAction\"
forward
name=\"admin\"
contextRelative=\"true\"
path=\"/front/\"
redirect=\"true\"/
/action
……
上面这种配置就是通过forward元素转换到相应的模块,下面我们看另一种方法吧!
二、方法二
这种方法是我们通过配置Struts的一个特定的类SwitchAction,就能实现上面的要求了。并且需要两个参数:
1、prefix:用来指定模块的后缀名称
2、page:用来指定你的资源路径。
目前还没有有效办法来解决。这种情况下大气干燥、水汽少 例如:
……
action-mappings
action
path=\"/switch\"
type=\"itchAction\"/
/action-mappings
……
例如:
这个是访问我们后台模块的资源。模块化解决了我们开发中的不少问题吧!希望能帮助您解决一些问题。
查看本文来源
云南不孕不育权威医院四川肝病医院在哪
四川成都脂肪肝
- 上一页:模块化编程经典实战教程呢
- 下一页:的汉字显示问题终结解决之方案
-
一位“民俗外交使者”的30年
面庞清瘦、目光不屈不挠,待人接物率性儒雅——龙宇翔,一名出色的“民间...
2024-11-15
-
今年流行这件上衣,时髦又有趣
真挚、温柔、端庄精稀, 洁净温良如玉,真诚凌霜如松。 这些形似容东方...
2024-11-12
-
看考场不是走过场,2022中考考场踩点注记,踩点前必看!
对于将要参与初高中的小伙伴们来说,到贡院“踩点”则是初高中之外的另一...
2024-07-27
-
总分毕业设计!男生用1400斤钢筋铸工人雕塑:向父亲和建造者致敬
新闻记者 | 周盾 兼职 | 刘至 6月18日,广州美术学院人像专业知识学生陈锦亿...
2024-07-15
-
北水动向|北水成交净卖出35.65亿 汽车股继续分化 理想(02015)、长城汽车(02333)遭暴
7月末6日港股产品,北水作价;大销售35.65亿,其中港股道通(沪)作价;大销售...
2024-07-01
-
全球连线|美国白宫恢复主办复活节“滚彩蛋”活动
美国白宫18日在白宫南草坪恢复举办因新冠疫情中断两年的复活节“抽彩蛋”...
2024-05-25