您现在的位置是:首页 >

vivado如何实例化模块 Struts从零开始六、Struts的模块使用实例

火烧 2022-08-19 12:18:40 1223
Strut 从零开始六、Strut 的模块使用实例   在使用Strut 框架时 每个请求都由Actio 去处理 并且还要在 trut co fig xml中加以设定 这样以来做小项目还行 在大型网站

Struts从零开始六、Struts的模块使用实例  

  在使用Struts框架时 每个请求都由Action去处理 并且还要在struts config xml中加以设定 这样以来做小项目还行 在大型网站的开发中 有很多小组负责不同的模块 如果每一个小组要对一个struts config xml进行设定 将会导致struts config xml的版本控制问题

  您可以为每个小组分配不同的struts config xml设定文件 方法是在ActionServlet参数的config参数后面加上后缀 如果是config/admin 那么相应的配置文件的名字就是 struts config admin 他们的后缀名字必须对应 这样才能映射上

  例如我们可以把后台处理分配一个小组 设定具体代码如下所示 web xml

  action

   apache struts action ActionServlet

  config

  /WEB INF/conf/struts config xml

  config/admin

  /WEB INF/conf/struts confg admin xml

  debug

  

  detail

  

  

  config/admin 指定了admin模块的所使用的配置文件是struts config admin xml 现在负责后台模块的开发人员只要管理自己的开发文档设定就行了 就像前面所说的一样 当ActionServlet收到请求时 它是根据模块你所指定的后缀 进行处理是哪个模块的请求

  例如

  

  这个URL 表示请求由strutsmodel工程的admin环境的admin do来处理这个请求 这样以来前台和后台就分明了 各自开发各自的 各自管理自己的配置文件 达到松耦合的目的

  当ActionServlet请求接收请求 它判断URL中相对与context的前缀 例如上例中的admin 于是就知道应该使用admin模块 下面是struts config admin xml

  ……

  path= /admin

  type= zhoudq webapp action AdminAction >

  ……

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

  

  在模块中的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

  contextRelative= true

  path= /front/login do

  redirect= true />

  这个是全局可以找到的forward中设定的 下面是在action元素中设定如何转发模块 代码如下

  ……

  path= /admin

  type= zhoudq webapp action AdminAction >

  name= admin

  contextRelative= true

vivado如何实例化模块 Struts从零开始六、Struts的模块使用实例

  path= /front/login do

  redirect= true />

  ……

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

  二 方法二

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

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

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

  例如

  ……

  path= /switch

  type= apache struts actions SwitchAction />

  ……

  例如

  ;page=/admin do

lishixinzhi/Article/program/Java/ky/201311/27872  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码