操纵ActionForward优化Struts操纵程序[Java编程]
本文“操纵ActionForward优化Struts操纵程序[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
从一个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)
public ActionForward(String name, String path, boolean redirect)
public ActionForward(String name, String path, boolean redirect, boolean contextRelative)
固然这些构造器是不需求阐明的,但我们应当注意下面几点.在这些构造器中,第二种大概是最常用的.后四种构造器中的path参数表示的是到目的资源的途径.后三种构造器中的redirect布尔值表示的是能否履行了一个重定向(redirect).(缺省情形下,这个值设置为false,因为redirect比forward慢.)最后,第五个构造器中的contextRelative布尔值表示该途径能否应当是context-relative的,而不是module-relative的.
一样,一个ActionForward实例也可以有一个逻辑名称,你可以用这个名称来查找与一个特别的ActionMapping对象相关的实例.(拜见本系列第四部份关于ActionMapping的报告.)
以上是“操纵ActionForward优化Struts操纵程序[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |