Struts多模块的技巧

Struts 专栏收录该内容
10 篇文章 0 订阅

在使用struts多模块的,找到一些小技巧和经验,与大家分享一下。

关于多module的配置就不说了,只需要用不同的config,
struts-config.xml作为默认module, struts-config-module.xml作为/module的配置

CSDN上有不少相关的说明。

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.

    


版权声明:
本文由冰云完成,作者保留中文版权。
未经许可,不得使用于任何商业用途。
欢迎转载,但请保持文章及版权声明完整。
如需联络请发邮件:icecloud(AT)sina.com
Blog:http://icecloud.51.net
 

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值