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

Java Struts 1.3:在应用程序上下文之外转发?,java,struts,Java,Struts,Struts 1.3应用程序。主网站不由struts/Java提供服务。我需要将struts操作的结果转发到网站中的一个页面,该页面在struts上下文之外。目前,我在上下文中转发一个JSP,并使用元刷新转发到实际位置。这看起来有点糟糕。有更好的方法吗?严格来说,你不能“前进”。只需在Action类的execute()方法中的HttpServletResponse对象上调用sendRedirect(),然后,返回null 或者,对ActionForward对象(您要返回的对象)调用setModu

Struts 1.3应用程序。主网站不由struts/Java提供服务。我需要将struts操作的结果转发到网站中的一个页面,该页面在struts上下文之外。目前,我在上下文中转发一个JSP,并使用元刷新转发到实际位置。这看起来有点糟糕。有更好的方法吗?

严格来说,你不能“前进”。只需在
Action
类的
execute()
方法中的
HttpServletResponse
对象上调用
sendRedirect()
,然后,
返回null


或者,对
ActionForward
对象(您要返回的对象)调用
setModule()
,或者将路径设置为绝对URI。

我最后执行了response.sendRedirect()。

如果这仍然在web应用程序中,您可以使用?Struts doForward()方法就是这样工作的。但是,要走出Struts/Java,需要sendRedirect()


我的理解是,不包含主机/端口的绝对URI始终被视为相对于应用程序上下文。setModule()做什么?它没有明确的文档记录,似乎“/无论什么”仍然与应用程序上下文相关?你是对的-我误解了这个问题。我将编辑我的答案,但为了完整性而离开。
RequestDispatcher rd = getServletContext().getRequestDispatcher(uri);
rd.forward(request, response);