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

これはどうですか?この質問で私を助けてください

4

3 に答える 3

5

jsp内のリダイレクトは、実際には便利なアイデアではありません。これは、jspが以下のレンダリングフェーズを解析し、このフェーズがコンテンツを表示するように設計されているためです。

一方、以下のアクションフェーズへのリダイレクトでは、ここで、ポートレットが次に何を実行するかを決定できます。

ポートレットの2フェーズをよりよく理解するには、このチュートリアルをお読みください: http ://www.liferay.com/documentation/liferay-portal/6.0/development/-/ai/understanding-the-two-phases-of-portlet-execution

したがって、リダイレクトをポートレットprocessActionメソッドに入れます。

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

それ以外の場合、本当にjsp内でこれを実行したい場合は、最初のjspに2番目のjspを含めることができます。

<liferay-util:include page="second.jsp" />
于 2012-05-12T19:34:09.893 に答える
3
 <portlet:renderURL var="other">
  <portlet:param name="jspPage" value="/jsp/b.jsp"/>
  </portlet:renderURL>
  <a href="<%=other%>">other</a>
于 2013-05-08T04:28:34.323 に答える
0

response.sendRedirect( "");

パスは、相対、絶対、またはサーバールートからの相対パスである可能性があることに注意してください。また、応答がすでにコミットされている場合は機能しません。

于 2012-05-12T17:51:06.323 に答える