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