学习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 =
requestgetRequestDispatcher(/mainMenujsp);
rdforward(request response);
同样下面这些代码也都被重写了
// RequestDispatcher rd =
requestgetRequestDispatcher(
/loginjsp);
// rdforward(request response);
新的代码变成return (new ActionForward(/loginjsp));
ViewSecretAction类
ViewSecretAction也变得更好了(见列表)execute方法最后的这三行代码现在由一行来处理了返回(new ActionForward (/viewSecretjsp)):
//RequestDispatcher rd =
requestgetRequestDispatcher(
/viewSecretjsp);
//rdforward(request response);
//return null;
接下来我们来重新查看LogoutAction类(见列表)注意execute方法中下面这些代码已经被替代了
//RequestDispatcher rd =
requestgetRequestDispatcher( JAVA天堂
/loginjsp);
// rdforward(request response);
// return null;
你只需要用下面这一行代码来取代它就行了 return (new ActionForward(/loginjsp));
ActionForward是个很有用功能很多的类它可以让你更简单更快更直接地完成许多事情这可能就是它很受欢迎的原因在本系列的第四部分你可以了解另一个重要的类orgapachestrutsactionActionMapping它可以使你的代码更有效更漂亮
[] []