アプリのカスタマイズ

ここでは、TELASOLUNAのSpringMVC+MyBatisを利用したサンプルアプリケーション(terasoluna-tourreservation-web)をカスタマイズすることで各実装内容の確認を行う。

具体的にはCustomerエンティティ(一般的な概念でいう顧客、利用者、ユーザに相当)へ新規項目を追加する変更を行う。

また、データの流れに特化するので、以下の点は割り切りの変更とする。

 ・画面デザイン観点

 ・入力チェック



1.カスタマイズ全体構成

Customerテーブルのカラムへ項目A(item_a)を追加し、それに伴う各種変更を行い、データの受け渡し、および、画面表示を行う。



【変更対象ファイル】

■terasoluna-tourreservation-domainプロジェクト
1.src\main\java\org\terasoluna\tourreservation\domain\model\Customer.java
2.src\main\resources\org\terasoluna\tourreservation\domain\repository\customer\CustomerRepository.xml

■terasoluna-tourreservation-webプロジェクト
3.src\main\java\org\terasoluna\tourreservation\app\managecustomer\CustomerForm.java
4.src\main\webapp\WEB-INF\views\common\fragment\customerTable.jsp
5.src\main\webapp\WEB-INF\views\managecustomer\fragment\customerTable.jsp
6.src\main\webapp\WEB-INF\views\managecustomer\createConfirm.jsp
7.src\main\webapp\WEB-INF\views\managecustomer\createForm.jsp


※変更内容の詳細は下記ページ参照。

  カスタマイズ対象の変更内容詳細


2.カスタマイズ画面イメージ

オリジナルの画面レイアウトへ「項目A」をそれぞれ追加する。

実装的には(3)、(4)、(5)の「Reprensentative」エリアは共通の画面部品であるので、1ファイルの修正で3画面へ変更が反映される。


(1)ユーザ登録フォーム

(2)ユーザ登録確認


(3)ツアー詳細


(4)予約確認


(5)予約完了






3.モデルデータ受け渡しフロー

コントローラ層~サービス層~リポジトリ層のデータ受け渡しフローを以下に示す。

顧客情報登録時にFormとして受け取ったデータをCustomerモデルクラスへマッピングし、そのモデルクラスをセッション領域保持を経て、画面表示を実現する。