5 JSFおよびJSTLの使用

WebLogic ServerでJakarta Server Faces (JSF)およびJakarta Standard Tag Library (JSTL)を使用する方法を学習します。

この章の内容は以下のとおりです。

WebアプリケーションでのJSFおよびJSTLの使用

JSFおよびJSTLはJakarta EEの必須の部分で、それ自体はWebLogic Serverに直接組み込まれます。すべてのJakarta EEテクノロジはWebLogic Serverクラスパスに存在します。アプリケーションでJakarta EEテクノロジのどの機能を使用するにも追加の構成は必要ありません。WebLogic Serverにデプロイされたアプリケーションは、JSF 2.3およびJSTL 1.2をシームレスに活用できます。個別の共有ライブラリをデプロイして参照する必要はありません。

Jakarta EE APIのJARファイルはWL_HOME\wlserver\server\lib\javax.javaee-api.jarに置かれます。WL_HOMEはWebLogic Serverのインストール先の最上位ディレクトリを表します。

Webアプリケーションでのこれらの共有ライブラリの参照については、『Oracle WebLogic Serverアプリケーションの開発』共有Jakarta EEライブラリおよびオプション・パッケージの作成を参照してください。

Jakarta Server Faces (JSF)

JSFは、JavaServerアプリケーションのユーザー・インタフェースの構築を容易にするための技術です。ページ内で再利用可能なUIコンポーネントを組み立て、それらのコンポーネントとアプリケーションのデータ・ソースを結合し、クライアント生成のイベントをサーバー側のイベント・ハンドラに関連付けることで、開発者はそのスキル・レベルに関係なく、Webアプリケーションを迅速に構築できます。

WebLogic Serverでは、JSF 2.3仕様(https://jakarta.ee/specifications/faces/2.3/)がサポートされます。WebLogic Serverでは次のことがサポートされています:
  • CDI統合の改善: CDI互換の@ManagedPropertyアノテーション。
  • WebSocket統合の改善: 新しい<f:websocket>タグを使用したWebSocketの直接サポート。
  • Ajaxメソッドの起動。
  • 新しい<f:validateWholeBean>タグを使用した、クラス・レベルのBean検証。
  • Javaの日付と時刻のサポート。
  • 拡張されたコンポーネント検索式フレームワーク。

これらの機能の詳細は、『Java EE Tutorial』(https://javaee.github.io/tutorial/toc.html)およびhttps://github.com/jakartaee/facesを参照してください。

WebLogic Serverインストールとともにサーバーのサンプルをインストールするよう選択した場合は、サンプル・アプリケーションにJSF 2.3の次の主要機能が示されます:

  • 新しい<h:commandScript>コンポーネントを使用したAjaxメソッドの起動
  • CDIコンバータ
  • 反復可能h:dataTable
  • JSF固有のEL暗黙オブジェクトの評価用CDI
  • CDIインジェクション
  • 新しいJavaの日付と時刻
  • @ManagedProperty
  • 反復可能ui:repeat
  • f:validateWholeBeanを使用した、クラス・レベルのBean検証
  • CDIバリデータ
  • f:websocketを使用したWebSocket

JSF 2.3サンプルは、ORACLE_HOME\wlserver\samples\server\examples\src\examples\javaee8\jsfディレクトリにあります。ORACLE_HOMEはWebLogic Serverをインストールしたディレクトリです。

WebLogic Serverサンプル・コードの詳細は、『Oracle WebLogic Serverの理解』サンプル・アプリケーションおよびサンプル・コードに関する項を参照してください。

Jakarta Standard Tag Library (JSTL)

Jakarta Standard Tag Library (JSTL)は、多くのWebアプリケーションに共通の中核機能を単純なタグとしてカプセル化するための技術です。JSTLは、次のような一般的な構造化されたタスクをサポートします。

  • 反復および条件

  • XMLドキュメントを操作するタグ

  • 国際化タグ

  • SQLタグ

また、JSTLは既存のカスタム・タグとJSTLタグを統合するためのフレームワークも提供されています。

WebLogic Serverでは、JSTL 1.2仕様(https://jakarta.ee/specifications/tags/1.2/)がサポートされます。

JSF下位互換性

バンドルされているJSF実装をアプリケーション構成から削除すると、JSF 1.2用に作成されたアプリケーションは、変更なしでWebLogic Server 14.1.2.0.0で実行できます。この処理を実行してもアプリケーションが実行できない場合には、WebLogic Serverには、アプリケーションからデプロイおよび参照できるJSFおよびJSTLライブラリが用意されています。

ノート:

JSF 2.0用に作成されたアプリケーションは、WebLogic Server 14.1.2.0.0のビルトインJSF 2.3実装を使用して変更なしで実行し続けられるため、WebLogic Serverに含まれるjsf-2.0.warのデプロイ可能ライブラリは空です。

WebLogic Serverは、ライブラリの存在に依存しているソフトウェアのために、空のjsf-2.0.warライブラリをインクルードします。ライブラリへの参照をそのまま残すことは、支障はありません。ただし、こうした参照は何の機能も付加しないため、この空のライブラリへの参照は削除することをお薦めします。

次の項を参照してください。

JSFおよびJSTLライブラリのデプロイメント

ノート:

このリリースのWebLogic Serverでは、JSF 2.3およびJSTL 1.2アプリケーションを直接デプロイできます。後方互換性のために、JSF 1.xおよびJSTL 1.1アプリケーションをデプロイする際は次のディレクトリを使用してください。

JSF 1.2アプリケーションをデプロイする際は、Webアプリケーション・ライブラリとして提供されているJSFおよびJSTLライブラリを使用してください。JSF 1.2またはJSTLの機能を使用するWebアプリケーションをデプロイする前に、これらのライブラリをデプロイする必要があります。これらのライブラリをデプロイするには、WebLogicリモート・コンソールを使用するか、コマンドラインでweblogic.Deployerユーティリティを使用します。

次に、weblogic.Deployerコマンド・ライン・ツールを使用してJSF 1.2ライブラリをデプロイする例を示します。

  java weblogic.Deployer -adminurl t3://localhost:7001 
  -user weblogic -password weblogic
  -deploy -library
   d:/oracle_home/wlserver/common/deployable-libraries/jsf-1.2.war

このコマンドでは、ライブラリのMANIFEST.MFで定義されているデフォルトのlibrary-namespecification-version、およびimplementation-versionを使用してJSF 1.2ライブラリがデプロイされます。

ライブラリのデプロイ後は、ライブラリのextension-namespecification-version、およびimplementation-versionがリモート・コンソールに表示されます。こうした情報は、ライブラリWARファイルのMANIFEST.MFファイルでも確認できます。

Webモジュールのデプロイメントの詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』「アプリケーションおよびモジュールのデプロイメント準備」を参照してください。

JSFまたはJSTLライブラリの参照

JSFまたはJSTLライブラリを参照するには、標準のWebアプリケーションでは、アプリケーションのweblogic.xmlファイルで<library-ref>記述子を定義します。次に例を示します。

  <library-ref>
    <library-name>jsf</library-name>
    <specification-version>1.2</specification-version>
    <implementation-version>1.2</implementation-version>
    <exact-match>false</exact-match>
  </library-ref>

Webアプリケーション・ライブラリの参照の詳細は、『Oracle WebLogic Serverアプリケーションの開発』共有Jakarta EEライブラリおよびオプション・パッケージの作成を参照してください。