的模块使用实例的

干燥设备2021年09月06日

在使用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
友情链接