Struts 1.3:在应用程序上下文之外转发?

时间:2020-03-05 18:53:44  来源:igfitidea点击:

Struts 1.3应用程序。 Struts / Java不提供主要网站。我需要将struts动作的结果转发到网站上位于struts上下文之外的页面。当前,我在上下文中转发到JSP,并使用元刷新来转发到实际位置。似乎有点suck。有没有更好的办法?

解决方案

回答

从严格意义上讲,我们不能"前进"。只需在Action类的execute()方法中的HttpServletResponse对象上调用sendRedirect()即可。然后,"返回null"。

或者,在ActionForward对象(我们将要返回的对象)上调用setModule或者将路径设置为绝对URI

回答

我最终做了response.sendRedirect()。

回答

如果仍然在Web应用程序中,则可以使用ServletContext.RequestDispatcher?这就是Struts的doForward()方法的工作方式。但是,要离开Struts / Java,我们需要sendRedirect()。

RequestDispatcher rd = getServletContext().getRequestDispatcher(uri);
rd.forward(request, response);