Jakarta EE 10 の学習 - Jakarta Faces (hello1)-

記事
IT・テクノロジー

Jakarta Faces

Java でのウェブアプリケーションの作成に Jakarta Faces フレームワークを使うと、ロジックとプレゼンテーションの記述の分離をJSPを使う場合よりもさらに進めることが可能になる。
この記事では Jakarta EE 10 に対応する Jakarta Faces のバージョン4.0 を扱う。
Faces の古いバージョンでは、JSPをプレゼンテーションの記述に使用することができたが、 Faces 2.0 で非推奨となり、4.0 でサポートが削除されている。

フェースレット(Facelets)

新しいバージョンのJakarta Faces ではJSPに置き換わるものとして設計された、フェースレット(Facelets) というページ宣言言語の使用を推奨している。
フェースレットでは普通 XHTML ファイルをウェブページとして使用する。このページはコンポーネントタグと呼ばれるタグを使って構成される。

サンプルアプリケーション(hello1)

この記事では、Jakarta Faces の学習の出発点として、公式のチュートリアルページに掲載されている hello1 というアプリケーションを採用し、ビルドとブラウザでの表示を試みる。
このチュートリアルは Jakarta EE 9 に対応した内容だが、いくつかの修正点を除けばバージョン10 でもそのまま利用できる。
URL:  eclipse-ee4j.github.io/jakartaee-tutorial

下記の github のリポジトリにこのチュートリアルのソースファイルが置かれている。
URL:  github.com/eclipse-ee4j/jakartaee-examples.git

NetBeans IDE で hello1 プロジェクトをビルド

上のリポジトリをローカルの任意のディレクトリにクローンする。
(git clone でクローンすると、デフォルトでは jakartaee-examples ディレクトリとしてクローンされる)

Netbeans IDE を起動し、上部メニューの File > Open Project をクリック、クローンしたディレクトリの中(tutorial/web/faces/hello1) にある hello1 プロジェクトを選択して開く。
画面左の Files タブで中に含まれるソースファイルを確認すると、下記のようになっている。 (target ディレクトリはビルド後に生成される)
hello1_project.png



pom.xml の修正
jakartaee-examples/tutorial/pom.xml ファイルに必要な変更を加える。
1. <glassfish.home>  エレメントの値を GlassFish サーバーのインストールパスに変更。
2. jakarta.jakartaee-api のバージョンを 10.0.0 に変更

pom-xml.png

web.xml の修正
hello1/src/main/webapp/WEB-INF/web.xml ファイルでは、web-app エレメントの version の値を "6.0" に、web-app_5_0.xsd を web-app_6.0.xsd に変更する。

web-xml.png

他のファイルはそのままで hello1 プロジェクトをビルドする。ビルドが完了すると target ディレクトリ内に WAR ファイルが生成される。
このプロジェクトの場合は ビルド時に自動でデプロイまで実行されるようになっているが、GlassFish サーバーの設定によっては失敗する場合がある。その場合は手動で WAR ファイルをデプロイする。

アプリの表示テスト

デプロイされたアプリのURLにブラウザでアクセスすると、下記のような入力フォームを含むページが表示される。
hello1_page1.png
入力フォームに入力して Submit ボタンを押すと、下記のようなページに遷移する。
hello1_page2.png
続く記事ではこのアプリケーションのソースファイルの理解を進める(予定)。

参考資料:

Jakarta Faces 4.0 の仕様ドキュメントは下記URLからダウンロードできる。
URL:  jakarta.ee/specifications/faces/4.0/

コメント: 記事内の情報は著者が個人的に調べた範囲で理解しているものです。必要に応じて訂正する場合があります。
記事中に含まれるURL はプロトコルを含めると禁止ワードに引っ掛かるので省いています。

著者・投稿者: ENARTS05
編集履歴:
2023/10/9 作成











サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す