1 2 3 下一页 从一个Servlet内部,通过运用Javax.servlet.RequestDispatcher类的forward方法你就可以将控制流程引导到一个目的资源。在login应用程序的action类中,该代码形式如下: RequestDispatcher rd = request.getRequestDispatcher(destination); rd.forward(request, response); 其中destination就是到一个目的资源的路径。 但是在一个典型的Struts应用程序中,你可以用ActionForward类作为替代。运用这个类的好处就是你不再需要创建一个RequestDispatcher对象并调用它的forward方法了。 你可以将ActionForward类用于一个Action类的execute方法中。注意,其中一个重载的execute方法有如下的定义,它返回一个ActionForward对象: public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception 因为当时我们还没有讲到ActionForward类,所以在本系列的第一部分和第二部分中所有Action类的execute方法都只返回了空值。现在,在一个Action类的execute方法中,你就可以用ActionForward类来代替下面这个RequestDispatcher对象实例了: RequestDispatcher rd = request.getRequestDispatcher(destination); rd.forward(request, response); 新的代码变成:return (new ActionForward(destination)); 构建ActionForward对象 ActionForward类提供了下面五种构造器: public ActionForward() public ActionForward(String path) public ActionForward(String path, boolean redirect) (责任编辑:admin) |