伙伴云客服论坛»论坛 S区 S软件开发 查看内容

0 评论

0 收藏

分享

Java进阶:Struts多模块的技巧

文章来源:互联网</p>在使用struts多模块的,找到一些小技巧和经历,与大家分享一下。
   关于多module的配置就不说了,只需要用不同的config,
            struts-config.xml作为默认module, struts-config-module.xml作为/module的配置
  网站上有不少相关的说明。
  struts中的module,实际上就类似于平日里开发web程序中的子目录
          如


   /- root
           /music
           /module
           /...


          例如上面的/music作为模块名
          那么struts-config-music中的所有path默认即/music/xxx.do        
  一些教程中说要把jsp页面放入/web-inf中,这是个很好的方法,
          一开端我也这么做,可惜,struts的action标签不支持contextRelative,只要forward支持
          所以,假设要使用/xxx.do直接redirect或者forward到某个页面是行不通的。
          因为他们的地址相对于/music/web-inf/xxx.jsp 这样就找不到了。
  我的建议是,root下面的目录要和module一致。
          例如


    /
           /moduleA
            /moduleB


  虽然安全性有些降低,但使用起来非常方便。
  一般的,要写一个link,可以通过<html:link>来写



  <html:link action="/module/action" >


          他的好处是内置的支持module,不需要自己写.do,这就可以使得你的.do
        任意的修改为别的而不影响程序运行。例如,.jspa,假装一下webwork        
  默认的<html:link>是相对module的。例如进入了/module/actionA指向的页面
          在这个页面中,所有的link都被转换为相对于/module 如<html:link action="/actionB" >,实际上是/module/actionB
  那么,假设要执行默认module的action怎么办?嘿嘿,其实很简单。我开端的时候绞尽脑汁,用了switchAction来处置/module/switch?prefix=&page=/xxx.do&.... 多费事
  实际上,一个传统的办法可以有效处置。即<html:link action="../action" >
          可以回到上一层的module中。我开端可真没想到。
  link标签有page,href,action三种不同的链接方法。
          其中,action默认的指向某个path,page指向一个jsp页面,也是相对于module的href可以写外部url.

回复

举报 使用道具

相关帖子
全部回复
暂无回帖,快来参与回复吧
本版积分规则 高级模式
B Color Image Link Quote Code Smilies

王小雅
注册会员
主题 21
回复 17
粉丝 0
|网站地图
快速回复 返回顶部 返回列表