如何关闭你要允许此应用程序 用ActionForward优化你的Struts应用程序[2]
用ActionForward优化你的Struts应用程序[2]
学习ActionForward类的方法ActionForward类定义了三个保护字段——name path和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 它的web xml和struts config xml文件同myStrutsApp 中的文件是一样的 JSP页面也没有改变 只有action类同以前不同(见列表 )
![如何关闭你要允许此应用程序 用ActionForward优化你的Struts应用程序[2]](http://img.zhputi.com/uploads/fbc0/fbc081ad74e2704db2c7971d647adc6f6765.jpg)
注意下面这行代码是新的 return (new ActionForward( /mainMenu jsp )); 它替代了下面这些代码 现在它们都被注释出来了
RequestDispatcher rd = request getRequestDispatcher( /mainMenu jsp ); rd forward(request response);同样 下面这些代码也都被重写了
// RequestDispatcher rd = request getRequestDispatcher( /login jsp ); // rd forward(request response);新的代码变成 return (new ActionForward( /login jsp )); ViewSecretAction类 ViewSecretAction也变得更好了(见列表 ) execute方法最后的这三行代码现在由一行来处理了 返回(new ActionForward ( /viewSecret jsp )):
// 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( /login jsp )); ActionForward是个很有用 功能很多的类 它可以让你更简单 更快 更直接地完成许多事情 这可能就是它很受欢迎的原因 在本系列的第四部分 你可以了解另一个重要的类 apache struts action ActionMapping 它可以使你的代码更有效 更漂亮
lishixinzhi/Article/program/Java/ky/201311/29019