Java進(jìn)階:Struts多模塊的技巧
文章來(lái)源:互聯(lián)網(wǎng)
在使用struts多模塊的,找到一些小技巧和經(jīng)驗(yàn),與大家分享一下。
關(guān)于多module的配置就不說(shuō)了,只需要用不同的config,
struts-config.xml作為默認(rèn)module, struts-config-module.xml作為/module的配置
CSDN上有不少相關(guān)的說(shuō)明。
struts中的module,實(shí)際上就類似于平日里開(kāi)發(fā)web程序中的子目錄
如
/- root |
例如上面的/music作為模塊名
那么struts-config-music中的所有path默認(rèn)即/music/xxx.do
一些教程中說(shuō)要把jsp頁(yè)面放入/web-inf中,這是個(gè)很好的方法,
一開(kāi)始我也這么做,可惜,struts的action標(biāo)簽不支持contextRelative,只有forward支持
所以,如果要使用/xxx.do直接redirect或者forward到某個(gè)頁(yè)面是行不通的。
因?yàn)樗麄兊牡刂废鄬?duì)于/music/web-inf/xxx.jsp 這樣就找不到了。
我的建議是,root下面的目錄要和module一致。
例如
/ |
雖然安全性有些降低,但使用起來(lái)非常方便。
一般的,要寫(xiě)一個(gè)link,可以通過(guò)<html:link>來(lái)寫(xiě)
<html:link action="/module/action" > |
他的好處是內(nèi)置的支持module,不需要自己寫(xiě).do,這就可以使得你的.do
任意的修改為別的而不影響程序運(yùn)行。例如,.jspa,假裝一下webwork
默認(rèn)的<html:link>是相對(duì)module的。例如進(jìn)入了/module/actionA指向的頁(yè)面
在這個(gè)頁(yè)面中,所有的link都被轉(zhuǎn)換為相對(duì)于/module 如<html:link action="/actionB" >,實(shí)際上是/module/actionB
那么,如果要執(zhí)行默認(rèn)module的action怎么辦?嘿嘿,其實(shí)很簡(jiǎn)單。我開(kāi)始的時(shí)候絞盡腦汁,用了switchAction來(lái)解決/module/switch?prefix=&page=/xxx.do&.... 多麻煩
實(shí)際上,一個(gè)傳統(tǒng)的辦法可以有效解決。即<html:link action="../action" >
可以回到上一層的module中。我開(kāi)始可真沒(méi)想到。
link標(biāo)簽有page,href,action三種不同的鏈接方法。
其中,action默認(rèn)的指向某個(gè)path,page指向一個(gè)jsp頁(yè)面,也是相對(duì)于module的href可以寫(xiě)外部url.
上一篇:Java Socket編程(一) Socket傳輸模式
欄 目:Java編程
下一篇:Java Socket編程(三) 服務(wù)器Sockets
本文標(biāo)題:Java進(jìn)階:Struts多模塊的技巧
本文地址:http://mengdiqiu.com.cn/a1/Javabiancheng/8561.html
您可能感興趣的文章
- 01-10Java咖啡館(1)——嘆咖啡
- 01-10Java Socket編程(三) 服務(wù)器Sockets
- 01-10Java Socket編程(一) Socket傳輸模式
- 01-10Java Socket編程(二) Java面向連接的類
- 01-10Java運(yùn)行時(shí)多態(tài)性的實(shí)現(xiàn)
- 01-10Java經(jīng)驗(yàn)點(diǎn)滴:處理沒(méi)有被捕獲的異常
- 01-10Java Socket編程(四) 重復(fù)和并發(fā)服務(wù)器
- 01-10Java中的浮點(diǎn)數(shù)分析
- 01-10面向?qū)ο缶幊?Java中的抽象數(shù)據(jù)類型
- 01-10跟我學(xué)Java Swing之游戲設(shè)計(jì)(2)


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10Java咖啡館(1)——嘆咖啡
- 01-10JVM的垃圾回收機(jī)制詳解和調(diào)優(yōu)
- 01-10Java Socket編程(三) 服務(wù)器Sockets
- 01-10Java進(jìn)階:Struts多模塊的技巧
- 01-10J2SE 1.5版本的新特性一覽
- 01-10Java Socket編程(一) Socket傳輸模式
- 01-10Java運(yùn)行時(shí)多態(tài)性的實(shí)現(xiàn)
- 01-10Java Socket編程(二) Java面向連接的類
- 01-10Java Socket編程(四) 重復(fù)和并發(fā)服務(wù)
- 01-10Java經(jīng)驗(yàn)點(diǎn)滴:處理沒(méi)有被捕獲的異常
隨機(jī)閱讀
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 01-10C#中split用法實(shí)例總結(jié)
- 04-02jquery與jsp,用jquery
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-10SublimeText編譯C開(kāi)發(fā)環(huán)境設(shè)置
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-10delphi制作wav文件的方法
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子
- 01-11Mac OSX 打開(kāi)原生自帶讀寫(xiě)NTFS功能(圖文