JakartaEE(JavaEE)

JSFプロジェクトで更新・削除機能を追加してみた

JakartaEE(旧称:JavaEE)で利用可能なJPA(Java Persistence API)を利用すると、データの参照・追加に加え、データの更新・削除も実施することができる。

今回は、作成済のJSFプロジェクトに、削除・更新機能を追加してみたので、そのサンプルプログラムを共有する。

前提条件

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

JSFプロジェクトで一覧画面を表示してみたJSTLは「JSP Standard Tag Library」の略で、JSP内でよく使われる機能をタグライブラリとしてまとめたものである...

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

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

一覧画面の内容は以下の通りで、更新リンク・削除リンクを追加している。

また、新設した削除確認画面の内容は以下の通り。

さらに、一覧画面でリンクが押下されたときの処理を記載したクラスは以下の通りで、選択されたIDをもつユーザーデータを取得・設定後、入力画面または削除確認画面に遷移する処理を記載している。

また、一覧画面を表示する処理を定義したクラスは、リクエストスコープからセッションスコープに変更している。

なお、スコープを変更した理由については、以下のサイトを参照のこと。
https://gloryof.hatenablog.com/entry/20120901/1346481378

さらに、faces-config.xmlの定義は以下の通りで、一覧画面から更新・削除するためのルートを追加している。

また、JPAクラスの内容は以下の通りで、一件取得処理(getById)・更新処理(update)・削除処理(delete)を追加している。

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



「EaseUS Partition Master」はパーティション分割・結合・作成・サイズ変更等を直感的に行える便利ツールだったハードディスクの記憶領域を論理的に分割し、分割された個々の領域のことを、パーティションといいます。 例えば、以下の図の場合、C/D...

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

サンプルプログラムの実行結果は以下の通りで、user_dataテーブルの更新・削除ができることが確認できる。

1) 実行前のuser_dataテーブルの中身は、以下の通り。

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

2) GlassFishサーバーを起動後、Webブラウザ上で「http:// (ホスト名):(ポート番号)/(Webアプリケーションのプロジェクト名)/」とアクセスすると、以下のように、user_dataテーブルの中身が一覧画面(list.html)に表示されることが確認できる。ここでID=4の「削除」リンクを押下する。
サンプルプログラムの実行結果_2

3) 以下のように、削除確認画面が表示されID=4のデータが表示されることが確認できる。ここで「戻る」ボタンを押下する。
サンプルプログラムの実行結果_3

4) 以下のように、一覧画面が表示され、先ほど削除リンクを押下したID=4のデータが表示されることが確認できる。ここで再度「削除」リンクを押下する。
サンプルプログラムの実行結果_4

5) 削除確認画面で「削除」ボタンを押下する。
サンプルプログラムの実行結果_5

6) 以下のように、一覧画面に遷移し、ID=4のデータが削除されていることが確認できる。ここでID=3の「更新」リンクを押下する。
サンプルプログラムの実行結果_6

7) 以下のように、入力画面が表示されID=3のデータが表示されることが確認できる。ここで「戻る」ボタンを押下する。
サンプルプログラムの実行結果_7

8) 以下のように、一覧画面が表示され、先ほど更新リンクを押下したID=3のデータが表示されることが確認できる。ここで再度「更新」リンクを押下する。
サンプルプログラムの実行結果_8

9) 入力画面でデータを編集後、「確認」ボタンを押下する。
サンプルプログラムの実行結果_9_1

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

10) 確認画面で「送信」ボタンを押下する。
サンプルプログラムの実行結果_10

11) 以下のように、完了画面に遷移することが確認できる。ここで「一覧画面に戻る」ボタンを押下する。
サンプルプログラムの実行結果_11

12) 以下のように、一覧画面に遷移し、更新後のデータが表示されることが確認できる。
サンプルプログラムの実行結果_12

13) 実行後のuser_dataテーブルの中身は以下の通りで、削除・更新内容が反映されていることが確認できる。

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

要点まとめ

  • JakartaEE(旧称:JavaEE)で利用可能なJPA(Java Persistence API)を利用すると、データの参照・追加に加え、データの更新・削除も実施することができる。