Reference
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

Liferay Faces Bridge

Liferay Faces Bridgeを使用すると、ポートレット固有のコードを記述せずに、JSF Webアプリをポートレットとしてデプロイできます。 また、ポートレットアプリケーション内でJSF 2.xの機能を活用できるようにする革新的な機能も含まれています。

Liferay Faces Bridgeは、.jarファイルで配布されます。 Liferay Portal 5.2、6.0、6.1、6.2、7.0などのJSR 286(Portlet 2.0)に準拠したポートレットコンテナ内にJSF Webアプリケーションをポートレットとしてデプロイするために、Liferay Faces Bridgeをポートレットプロジェクトへの依存関係として追加できます。

Liferay Faces Bridge プロジェクトのホームページは こちらにあります。

Liferay Faces Bridgeを完全に理解するには、最初にポートレットブリッジ規格を理解する必要があります。 Portlet 1.0とJSF 1.0の仕様は基本的に同時に作成されていたため、JSF仕様のExpert Group(EG)は、ポートレットに準拠するようにJSFフレームワークを構築しました。 たとえば、 ExternalContext.getRequest() メソッドは、 javax.servlet.http.HttpServletRequestではなく、 Object を返します。 このメソッドをポータルで使用すると、 オブジェクトjavax.portlet.PortletRequestにキャストできます。 JSFの設計においてEGはポートレットの互換性を意識していましたが、ポートレットとJSFのライフサイクルのギャップを埋める必要がありました。

ポートレットブリッジの規格と実装は、時間の経過とともに進化しました。

2004年以降、JSF開発者がJSF Webアプリをポートレットとしてデプロイできるようにするために、いくつかの異なるJSFポートレットブリッジの実装が開発されました。 2006 年に、JCP は、標準のブリッジ API とブリッジ実装の詳細な要件を定義するために、Portlet Bridge 1.0 (JSR 301) EG を策定しました。 JSR 301は、Portlet 1.0およびJSF 1.2を対象として2010年にリリースされました。

2008 年に Portlet 2.0 (JSR 286) 標準がリリースされたとき、JCP は Portlet Bridge 2.0 (JSR 329) EG を形成する必要が生じました。 また、JSR

  1. がPortlet 2.0とJSF 1.2を対象として2010年にリリースされました。

JSR 314 EG が 2009 年に JSF 2.0、2010 年に JSF 2.1 をリリースした後、Portlet Bridge 3.0 標準が有益であることが明らかになりました。 2015 年に JCP は、Portlet 3.0 と JSF 2.2 のブリッジを定義する JSR 378) を策定しました。 Portlet 2.0およびJSF 1.2/2.1/2.2をサポートするLiferay Faces Bridgeのバリアントもあります。

Liferay Faces Bridgeは、ポートレットブリッジ規格のリファレンス実装(RI)です。 また、ポートレットアプリケーション内でJSF 2.xの機能を活用できるようにする革新的な機能も含まれています。

JSFポートレットブリッジは、JSFライフサイクルの正しいフェーズをポートレットライフサイクルの各フェーズに合わせます。 たとえば、ブラウザがJSFポートレットを含むポータルページにHTTP GETリクエストを送信する場合、RENDER_PHASEはポートレットのライフサイクルで実行されます。 次に、JSFポートレットブリッジは、JSFライフサイクルのRESTORE_VIEWフェーズとRENDER_RESPONSEフェーズを開始します。 同様に、HTTP POSTがポートレットで実行され、ポートレットがACTION_PHASEに入ると、完全なJSFライフサイクルがブリッジによって開始されます。

ポートレットライフサイクルのどのフェーズが実行されているかに応じて、JSFライフサイクルのさまざまなフェーズが実行されます。

2つのライフサイクルが正しく接続されていることを確認するだけでなく、JSFポートレットブリッジは、ポータルURLジェネレータとJSFナビゲーションルールの間のメディエーターとしても機能します。 JSFポートレットブリッジは、ポータルによって作成されたURLがJSFナビゲーションルールに準拠していることを確認し、JSFポートレットが別のビューに切り替えることができるようにします。

JSR 329/378規格では、javax.portlet.facesネームスペースのプレフィックスが付いたいくつかの構成オプションが定義されています。 Liferay Faces Bridgeは、com.liferay.faces.bridgeネームスペースのプレフィックスが付いた追加の実装固有のオプションを定義します。

Liferay Faces Bridgeは、Liferay DXP/PortalのJSF開発プロセスの重要な部分です。 詳細については、 JSF ポートレット アプリケーションの開発 (ヘルプ センター) を参照してください。