如何从second.jsp上的first.jsp重定向LIFERAY?

时间:2012-05-12 08:06:39

标签: jsp redirect liferay

<%
if(my_value==true){
//redirect to page second.jsp
}
%>

这是怎么回事?请帮助我解决这个问题

3 个答案:

答案 0 :(得分:5)

jsp内部的重定向并不是真正的权宜之计,因为jsp解析下面的渲染阶段和这个阶段被隐藏来显示内容。

另一方面,重定向到动作阶段,在这里你可以决定portlet下一步应该做什么。

阅读本教程以更好地理解portlet的两个阶段: http://www.liferay.com/documentation/liferay-portal/6.0/development/-/ai/understanding-the-two-phases-of-portlet-execution

因此,将重定向放在portlet processAction方法中:

@Override
public void processAction(ActionRequest actionRequest, ActionResponse actionResponse) throws IOException, PortletException {
    //defaultLandingPage = ...
    actionResponse.sendRedirect(defaultLandingPage);
};

否则,如果您真的想在jsp中执行此操作,则可以在第一个jsp中包含第二个jsp:

<liferay-util:include page="second.jsp" />

答案 1 :(得分:3)

 <portlet:renderURL var="other">
  <portlet:param name="jspPage" value="/jsp/b.jsp"/>
  </portlet:renderURL>
  <a href="<%=other%>">other</a>

答案 2 :(得分:0)

response.sendRedirect是( “”);

请注意,路径可以是服务器根目录的相对,绝对或相对路径。 此外,如果已经提交了响应,它将无法工作。