在使用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
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28746.html