ActionForward是做什麼的?他是用來封裝轉發和重定向路徑的。
在struts- config.xml中
默認的是轉發處理,轉發的特點:是使用同一個 request,而重定向的url地址會改變,而轉發的url地址是不變的。重定向是從浏覽器跳轉的, 等於又發送了一個請求,因此使用的不是同一個request,所以他的 url地址會改變。在這想變為重定向,需要使用另一個屬性:redirect="true",設置成true,就變成重定向了。
錯誤頁面是網站發生錯誤了要跳轉到的頁面,所以應該使用重定向來實例。讓地址也變到錯誤頁面的地址。
定義全局forward: 使用標簽
來定義全局forward:
全局forward是都可以訪問的,但是當需要使用forward時,struts自動按就近原則來選 擇。當局部也有定義時,就按照局部的來轉。 所以對以公共的內容,就可以定義到全局裡,例如錯誤和登錄處理等。 動態ActionForward: 靜態ActionForward在運行期改不了,采用動態ActionForward,在運行期是可以 改動的。
String page = request.getParameter("page");
ActionForward af = new ActionForward("/page" + page + ".jsp?name=wenhq",true);
// true不使用轉向,默認是false代表轉向
return af;
靜態的 ActionForward的url是不能加參數的,而使用動態的ActionForward,則可以加參數。 1、正確使用轉發和重定向對於網站的url顯示會顯得更加友好.
2、適當的全局ActionForward 會配置方便很多。
3、善於使用動態ActionForward,也會給程序帶來便利。