Teeda Extension for Portlet

HtmlNavigationHandlerを見る。redirect については、ポートレット的には何もしなくていいのかも(どのフェーズのところでredirectされているかにもよるけど、redirectの代わりにLifecycle#executeの実行を終了にすればいいと思われる。そうすれば、Portlet#renderがよばれるだろうから、サーブレットのredirectみたいな状態になっていると思う、たぶん)。

次の問題は、PagePersistenceだと思う。これは、サーブレット環境とポートレット環境でアクセスされたときに違ったものを返すFactoryみたいなものがあった方がいいかも。たとえば、PagePersistenceFactoryを作って、getPagePersistenceを呼ばれたときに、サーブレット環境であるならSessionPagePersistenceを返して、ポートレットであるならRenderParameterPagePersistenceを返してくれるようなもの。振り分けは、Factory内でPortletUtilで判定する感じかな。

これらをすれば、後は実際に動かして動作確認だろうか・・・。

追記:あ、PagePersistenceについては、後回しでもいいかも。PagePersistenceの値は、ActionResponse#setRenderParameterで渡しておくのがいいとは思うけど、こいつはStringしか、渡せんから作るのに時間が必要な気が。それだったら、サーブレットと同様にセッション渡しでまずは、動くものにするのが優先かも。将来的には、FacesPortletもセッション渡しをやめて、setRenderParameterにした方がいいと思うので、そのときに一緒に修正を検討するのがいいのかな。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です