从portlet中的doView方法重定向

时间:2009-03-13 17:31:03

标签: java websphere redirect portlet

我正在使用Websphere门户6.0,我想知道是否有一种方法可以告诉服务器从doView方法呈现哪个页面。我知道我可以从processAction方法做到这一点,但不幸的是问题的语义不允许它。

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

我怀疑是否可以在doView()中发送重定向。有两个原因:

  • 出于性能和其他各种原因,门户网站可能会在生成并发送门户网站HTTP响应的标头后调用doView(),因此发布重定向的时间太晚。
  • 能够做到这一点可能非常“邪恶” - 门户网站的任何时候都可以调用portlet的doView(),而无需用户与该portlet的交互。因此,在随机页面刷新或与另一个portlet的交互之后,portlet可以进行重定向。

一般来说,我会说如果portlet需要在doView中进行重定向,那么可能需要重新设计。也许试着更详细地描述你的问题。

答案 1 :(得分:3)

据我了解,您希望决定要向用户显示哪个JSP / HTML页面。

在这种情况下,这就是你需要做的。

public void doView(RenderRequest req, RenderResponse res) throws IOException,
PortletException {

    PortletRequestDispatcher prd =
        getPortletContext().getRequestDispatcher("/WEB-INF/jsp/view.jsp");
    prd.include(req, res);
}

您可以决定每次要获取请求调度程序的jsp。