JakartaEE(JavaEE)

JBoss Seamアプリケーションで初期表示画面を作成してみた

JBoss Seamとは、Java EEベースで、JSF(JavaServer Faces)からEJB(Enterprise Java Bean) 3.0、JPA(Enterprise Java Bean)まで一貫したコンポーネントモデルで「つなぐ」Webアプリケーション開発用フレームワークで、いくつかのアノテーションを使うだけでEJBとJSFをつなぎ合わせることができるようになっている。

今回は、JBoss Seamアプリケーションで初期表示画面を作成してみたので、そのサンプルプログラムを共有する。

前提条件

下記記事のJBoss Seamの環境構築が完了していること。

JBoss Seamの開発環境を構築してみたJBoss Seamとは、Java EEベースで、JSF(JavaServer Faces)からEJB(Enterprise Java ...

初期表示画面(input.xhtml)の追加

Seamプロジェクトで画面表示を行うためには、作成したSeamプロジェクトに初期表示画面を追加する。その手順は、以下の通り。

1) WebContentフォルダ下に、初期表示画面(input.xhtml)を作成するため、WebContentフォルダを選択し右クリックし、「新規」メニューから「その他」を選択する。
初期表示画面(input.xhtml)の追加_1

2)「Web」メニューの「HTML ファイル」を選択し、「次へ」ボタンを押下する。
初期表示画面(input.xhtml)の追加_2

3) ファイル名「input.xhtml」を指定し、「次へ」ボタンを押下する。
初期表示画面(input.xhtml)の追加_3

4)「新規 XHTML ファイル(1.0 transitional)」を選択し、「完了」ボタンを押下する。
初期表示画面(input.xhtml)の追加_4

5) 以下のように、「input.xhtml」が作成されたことが確認できる。
初期表示画面(input.xhtml)の追加_5

6)「input.xhtml」を以下のように変更し、Faceletsタグ(等)を利用するようにする。

7) JBoss ASサーバーを起動し「http://localhost:8082/demoSeam/input.seam」とアクセスすると、以下の画面が起動することが確認できる。
なお、「8082」は、JBoss ASサーバー内の、WebServerのポート番号を示している。
初期表示画面(input.xhtml)の追加_7

8)「index.html」を以下のように変更し、「http://localhost:8082/demoSeam/」とアクセスした時の画面遷移先を「input.seam」にする。

なお、web.xmlのwelcome-file-listの内容は以下のように設定されているため、「http://localhost:8082/demoSeam/」とアクセスした時の画面遷移先は「index.html」となる。

ちなみに、web.xml、index.htmlは、それぞれ以下の赤枠の場所に配置されている。
初期表示画面(input.xhtml)の追加_8

9) JBoss ASサーバーを再起動し「http://localhost:8082/demoSeam/」とアクセスすると、以下の画面が起動することが確認できる。
初期表示画面(input.xhtml)の追加_9_1

初期表示画面(input.xhtml)の追加_9_2

なお、上記動作検証を行う際は、ブラウザのキャッシュクリアを行っている。その手順は、以下を参照のこと。
https://support.biglobe.ne.jp/settei/browser/edge/edge-012.html



削除または保存していないWordドキュメントの復元方法【4DDiG Windowsデータ復元】ワード(Word)データ等のファイルを誤って削除してしまった場合は、通常はデータの復元ができませんが、4DDiGというソフトウェアを利用...

Seamアクションの追加

初期表示画面は、「Seamアクション」を利用して追加することもできる。その手順は、以下の通り。

1) demoSeamプロジェクト内の「src/hot」パッケージを選択し右クリックし、「新規」メニューの「Seam アクション」を選択する。
Seamアクションの追加_1

2) Seamコンポーネント名に「demoAction」を指定し、「完了」ボタンを押下する。なお、Seamコンポーネント名を指定すると、他の項目も自動設定される。
Seamアクションの追加_2_1

Seamアクションの追加_2_2

3) 以下のように「demoSeam」プロジェクトに「DemoAction.java」「demoAction.xhtml」が作成されることが確認できる。
また、「demoAction.xhtml」は「template.xhtml」を参照している。
Seamアクションの追加_3

生成された「DemoAction.java」の内容は、以下の通り。

また、生成された「demoAction.xhtml」の内容は、以下の通り。

なお、「demoAction.xhtml」が参照している「template.xhtml」の内容は以下の通りで、画面表示する際は、「<ui:insert name=”body”/>」と書いてある箇所を「demoAction.xhtml」の内容に置き換えることとなる。

4) JBoss ASサーバーを再起動し「http://localhost:8082/demoSeam/demoAction.seam」とアクセスすると、以下の画面が起動することが確認できる。
Seamアクションの追加_4

5) 上記画面で「demoAction!」ボタンを押下すると、以下の画面が表示され、メッセージ「demoAction」が表示されることが確認できる。
Seamアクションの追加_5_1

また、その際のコンソールログは以下の通りで、赤枠の「demoAction.demoAction() action called」が表示されることが確認できる。
Seamアクションの追加_5_2

なお、修正したプロジェクト「demoSeam」のソースコード全体は、以下を参照のこと。
https://github.com/purin-it/java/tree/master/seam-first-view/demoSeam

要点まとめ

  • JBoss Seamアプリケーションで初期表示画面にアクセスするには、「http://(サーバー名):(ポート番号)/(プロジェクト名)/(初期表示画面).seam」とアクセスすればよい。