是否可以重定向到portlet? [Portlets + JSP]

时间:2011-01-30 16:51:48

标签: jsp portlet liferay

我通过单击portlet中的链接来调用jsp页面。在jsp中,经过一些计算后,我试图通过response.sendRedirect()方法将重定向请求发送回portlet。但是,portlet不是转到重定向页面,而是简单地发布不应该看到的代码。

我做错了什么?

..... some declarations and methods for computing stuff.... .
<%
String redirect = generateRedirect(request, name);
response.sendRedirect(redirect);
%>

<html>
    <head>
        <title>Testing Portlet redirect</title>
    </head>
    <body>

        You should never see this page.

    </body>
</html>

1 个答案:

答案 0 :(得分:0)

重定向通常通过302响应代码完成,在HTTP头中发送。当你进入一个portlet时,你不能只发送响应代码 - 事实上,当你的jsp被渲染时,响应头甚至可能已经被刷新了。因此,在portlet环境中使用重定向是没有用的。您应该在portlet中的jsp或逻辑中使用条件处理(if / else)来首先调度到不同的jsps。