基于struts的WEB應用系統通常情況下應該避免JSP頁(yè)面之間的跳轉.因為這樣跳轉的用戶(hù)請求沒(méi)有
經(jīng)過(guò)Struts的處理,會(huì )導致很多在Struts框架中進(jìn)行的處理不起的作用.
對于每個(gè)用戶(hù)的請求,struts的RequestProcessor將會(huì )進(jìn)行一系列的處理,其中包括了國際化,權限
緩存等多方面.如果采用頁(yè)面之間的直接跳轉會(huì )導致很多內容都需要自己處理.
在struts中配置ForwardAction
其中path屬性是Action的匹配路徑,type屬性說(shuō)明實(shí)現Action的類(lèi),parameter屬性用于指定往哪轉發(fā)
也就是轉發(fā)的目的URI.這三個(gè)屬性是必須的,其它的可以省略.
forward屬性和ForwardAction
使用forward進(jìn)行頁(yè)面跳轉的配置方法如下
forward屬性和ForardAction在頁(yè)面中使用時(shí)是沒(méi)有區別的,并且在通常情況下struts對這兩種形式
的跳轉的處理也是相同的.但是使用自己的RequestProcessor并且覆蓋了父類(lèi)的processForwardConfig()
方法時(shí),這兩種方式就存在一定的區別了.
IncludeAction
IncludeAction類(lèi)的意義類(lèi)似于A(yíng)ctionForward類(lèi),它和頁(yè)面中的<jsp:include>動(dòng)作或Servlet中的
RequestDispatcher的include()方法執行的功能一樣的.在基于struts框架結構的應用中,最好不要在
<jsp:include>標記中直接引用另一個(gè)JSP頁(yè)面,而是通過(guò)IncludeAciton來(lái)實(shí)現頁(yè)面之間的引用,這樣比較
安全等等.
IncludeAction的使用
IncludeAction的使用和Forward基本相同,在頁(yè)面中還可以通過(guò)<jsp:include>標記來(lái)調用.
IncludeAction的配置
include屬性和IncludeAction
Struts也可以通過(guò)使用include屬性來(lái)在A(yíng)ction的配置文件中直接定義被引用的頁(yè)面.如
聯(lián)系客服