學習ActionForward類的方法
ActionForward類定義了三個保護字段——namepath和redirect——它們構成了ActionForward的三個屬性ActionForward類提供getter和setter方法來從這些字段讀值給這些字段賦值這些方法是不需要說明的定義如下
public boolean getContextRelative()
public void setContextRelative(boolean
contextRelative)
public String getName()
public void setName(String name)
public String getPath()
public void setPath(String path)
public boolean getRedirect()
public void setRedirect(boolean redirect)
除此之外ActionForward類還重載了toString方法並返回ActionForward[ + name + ]
其中name是名稱字段
最後還有一個freeze方法它固定了一個組件的配置
再次運用Login應用程序
要完全了解ActionForward類我們需要再次運用在本系列第一部分和第二部分構建的login應用程序你可以下載完整的應用程序把它重命名為myStrutsApp它的webxml和strutsconfigxml文件同myStrutsApp中的文件是一樣的JSP頁面也沒有改變只有action類同以前不同(見列表)
注意下面這行代碼是新的return (new ActionForward(/mainMenujsp));
它替代了下面這些代碼現在它們都被注釋出來了
RequestDispatcher rd =
request
getRequestDispatcher(
/mainMenu
jsp
);
rd
forward(request
response);
同樣下面這些代碼也都被重寫了
// RequestDispatcher rd =
request
getRequestDispatcher(
/login
jsp
);
// rd
forward(request
response);
新的代碼變成return (new ActionForward(/loginjsp));
ViewSecretAction類
ViewSecretAction也變得更好了(見列表)execute方法最後的這三行代碼現在由一行來處理了返回(new ActionForward (/viewSecretjsp)):
// RequestDispatcher rd =
request
getRequestDispatcher(
/viewSecret
jsp
);
// rd
forward(request
response);
// return null;
接下來我們來重新查看LogoutAction類(見列表)注意execute方法中下面這些代碼已經被替代了
//RequestDispatcher rd =
request
getRequestDispatcher( JAVA天堂
/login
jsp
);
// rd
forward(request
response);
// return null;
你只需要用下面這一行代碼來取代它就行了 return (new ActionForward(/loginjsp));
ActionForward是個很有用功能很多的類它可以讓你更簡單更快更直接地完成許多事情這可能就是它很受歡迎的原因在本系列的第四部分你可以了解另一個重要的類orgapachestrutsactionActionMapping它可以使你的代碼更有效更漂亮
[] []
From:http://tw.wingwit.com/Article/program/Java/ky/201311/29019.html