JakartaEE(JavaEE)

JSFプロジェクトで画面遷移をfaces-config.xmlに集約してみた

JSF(JavaServer Faces)プロジェクトでWebアプリケーションを作成する際、これまでは画面遷移を@Namedアノテーションを付与したクラスに記載していたが、faces-config.xmlに集約して定義することもできる。

今回は、JSFプロジェクトで画面遷移をfaces-config.xmlに集約してみたので、そのサンプルプログラムを共有する。

前提条件

以下の記事の実装とlombokの導入が完了していること。

Eclipse上のJSFプロジェクトでlombokを利用してみたlombokというライブラリを使うと、JavaBeanクラスにおいて、アノテーション付与するだけで、getterメソッド・setterメ...

サンプルプログラムの作成

作成したサンプルプログラムの構成は、以下の通り。
サンプルプログラムの構成
なお、上記の赤枠は、前提条件のプログラムから変更したプログラムである。

faces-config.xmlの内容は以下の通りで、リダイレクトを含む画面遷移を定義している。

また、各画面のForm値と画面遷移を定義したクラスの内容は以下の通りで、faces-config.xmlのfrom-outcomeに定義した値を、画面遷移に利用している。

その他のソースコード内容は、以下のサイトを参照のこと。
https://github.com/purin-it/java/tree/master/javaee-jsf-xml-transition/demoJsf

サンプルプログラムの実行結果

サンプルプログラムの実行結果は、以下の記事の「サンプルプログラムの実行結果」と同じ結果となる。

JSFプロジェクトで複数画面をもつWebアプリケーションを作成してみたJSF(JavaServer Faces)プロジェクトを利用して、JavaベースのWebアプリケーションを作成することができる。 ...

コンソールログ出力例は以下の通りで、上記記事と同等の内容が出力されていることが確認できる。
サンプルプログラムの実行結果_ログ

要点まとめ

  • JSF(JavaServer Faces)プロジェクトでWebアプリケーションを作成する際、画面遷移をfaces-config.xmlに集約して定義することもできる。