Java進(jìn)階:Struts多模塊的技巧
在使用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í)際上就類(lèi)似于平日里開(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.
相關(guān)文章
java?線(xiàn)程池如何執(zhí)行策略又拒絕哪些策略
這篇文章主要介紹了java?線(xiàn)程池如何執(zhí)行策略又拒絕哪些策略,文章通過(guò)線(xiàn)程池的執(zhí)行方法?execute()?展開(kāi)全篇內(nèi)容,需要的小伙伴可以參考一下2022-05-05
java如何讀取某個(gè)文件夾中的全部文件(包括子文件夾)
這篇文章主要介紹了java如何讀取某個(gè)文件夾中的全部文件(包括子文件夾),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
使用Java和SpringBoot實(shí)現(xiàn)服務(wù)器發(fā)送事件(Server-Sent Events)
使用Java開(kāi)發(fā)web應(yīng)用,大多數(shù)時(shí)候我們提供的接口返回?cái)?shù)據(jù)都是一次性完整返回,有些時(shí)候,我們也需要提供流式接口持續(xù)寫(xiě)出數(shù)據(jù),以下提供一種簡(jiǎn)單的方式,本文給大家介紹了如何在Java web中實(shí)現(xiàn)服務(wù)器發(fā)送事件,需要的朋友可以參考下2024-02-02
如何使用Spring Boot ApplicationRunner解析命令行中的參數(shù)
這篇文章主要介紹了使用Spring Boot ApplicationRunner解析命令行中的參數(shù),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-12-12
詳解SpringBoot AOP 攔截器(Aspect注解方式)
這篇文章主要介紹了詳解SpringBoot AOP 攔截器 Aspect,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
BeanUtils.copyProperties復(fù)制不生效的解決
這篇文章主要介紹了BeanUtils.copyProperties復(fù)制不生效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
Spring中@Autowired注解在不同方法的寫(xiě)法示例
這篇文章主要為大家介紹了Spring中@Autowired注解在不同方法的寫(xiě)法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01

