目次 > 第2章 Server(Web)版チュートリアル > 2.4 ログオン/ログオフ > 2.4.4 ビジネスロジッククラスの作成と設定
2.4.4 ビジネスロジッククラスの作成と設定
ビジネスロジッククラスとは業務処理を行うクラスである。
「2.4.3 入出力クラスの作成と設定」で作成した入力クラスを引数として受けとり、業務の結果を出力クラスに格納する。ビジネスロジックでは出力クラスをそのまま返却するのではなく、Server(Web)版が提供するBLogicResultクラスに格納して返却する。
以下にBLogicResultの構成を示す。
■ BLogicResultの構成
- 遷移先を決定する文字列(必須)
- ビジネスロジックの結果・業務処理の結果を格納する出力クラス(任意)
- 画面に表示するメッセージ情報(任意)
- 画面に表示するエラー情報(任意)
本項では、ログオン処理を実施するビジネスロジックの作成と設定手順を説明する。
手順
本項では以下の作業が必要になる。
(1) ビジネスロジッククラスの作成
- “terasoluna-spring-thin-blank\sources”を右クリックする。
- 「新規」→「クラス」を選択する。
- 以下の通り入力し、「終了」ボタンを押下する。
- パッケージ:jp.terasoluna.thin.tutorial.web.logon.blogic
- 名前:LogonBLogic
- インターフェース:jp.terasoluna.fw.service.thin.BLogic
- 生成されたLogonBLogicクラスを以下のように編集する。
package jp.terasoluna.thin.tutorial.web.logon.blogic; import jp.terasoluna.fw.service.thin.BLogic; import jp.terasoluna.fw.service.thin.BLogicResult; import jp.terasoluna.fw.web.UserValueObject; import jp.terasoluna.thin.tutorial.web.common.uvo.TutorialUVO; import jp.terasoluna.thin.tutorial.web.logon.dto.LogonInput; import jp.terasoluna.thin.tutorial.web.logon.dto.LogonOutput; /** * ログオン処理を行うビジネスロジック。 * */ public class LogonBLogic implements BLogic<LogonInput> { /** * ログオン処理を行う。 * * @param param 入力されたユーザIDを保持したMap * @return BLogicResult ログオン処理結果を保持したBLogicResult */ public BLogicResult execute(LogonInput param) { //入力されたユーザIDの取得 String userId = param.getUserId(); //UVOの生成 TutorialUVO uvo = (TutorialUVO) UserValueObject.createUserValueObject(); //ユーザIDをUVOに設定する。 uvo.setUserId(userId); //UVOを返却用のクラスに設定する。 LogonOutput output = new LogonOutput(); output.setUvo(uvo); //BLogicResultの生成、設定 BLogicResult result = new BLogicResult(); result.setResultObject(output); result.setResultString("success"); return result; } }
ビジネスロジッククラスは、Server(Web)版が提供するBLogicインタフェースを実装する。
(2) Spring設定ファイルの編集
作成したビジネスロジッククラスをSpring設定ファイルに設定する。
- terasoluna-spring-thin-blank\webapps\WEB-INF\logon\logonContext.xml”を開き、以下のビジネスロジックの設定を追加する。
<!-- アクション定義 --> ・・・略・・・ <!-- ログオン処理ビジネスロジック定義 --> <bean id="LogonBLogic" scope="singleton" class="jp.terasoluna.thin.tutorial.web.logon.blogic.LogonBLogic" />