2012-04-14 4 views
1

からJSPにリダイレクトすることができませんが、liferay-portlet.xmlにtrueにaction-url-redirectを設定した後、私はアクションでのLiferay 6:私は私のMVCPortletクラスからJSPページにリダイレクトする条件によってはMVCPortlet

Response.sendRedirect() 

を試してみましたが、

セットパラメータがすでに

と呼ばれているレンダリング:私は、サーバーコンソールでこのエラーを得ましたそして、私が使用してみました:

include("/html/satportlet/view2.jsp", request, response); 

も例外がスローされていないが、まだ何もこのケースでは起こっていない、と私は理由を知りません。

もう1つの質問ですが、LiferayではincludeとsendRedirectの概念はJSPとサーブレットの概念と同じであると思いますか?私はLiferayの6

答えて

0

ポートレットAPIは、アクションフェーズとレンダリングフェーズを区別し使用しています

:アクション・フェーズでは(例えば、使用可能なActionRequest/ActionResponse持っている場合)、あなたがHTMLを考えることになっていませんが出力。

レンダリング中に何を表示するかを決めるため、アクション処理中に属性またはレンダーパラメータを覚えておくだけです。レンダリングすると、ターゲットJSPにリダイレクト/インクルードされます。

+1

ありがとうOlaf Kockしかし、私が読んだのは、MVCPortletを使用するときにdoViewメソッドをオーバーライドする必要はありません。これはMVCPortletを使用する利点の1つで、私が間違っているかどうか教えてください。前もって感謝します 。 – Gajjini

2

リダイレクトのための必要はありません、あなたのアクションメソッドの最後に次の行を追加します。

response.setRenderParameter("jspPage", "/url/to/your/jsp");

これは、アクションへの応答としてページ"/url/to/your/jsp"のレンダリングの原因となります。実際に

私はカスタム処理をしたいときLiferayはとしてのみjsp-page/view-templateを持っているので、エントリ・ポイント・ビュー・JSPは、JSP自体にコードを書く避けるために(示される前に、私はdoViewをオーバーライドする必要があるだけですinitパラメータであり、コントローラアクションではありません)。

関連する問題