目次 > 第2章 Server(Rich)版チュートリアル > 2.7 例外処理 > 2.7.1 例外処理の設定
2.7.1 例外処理の設定
ユーザIDでデータベースを検索し、ユーザが存在する場合の処理にServiceExceptionをthrowする処理を追加する。
手順
本項では以下の作業が必要になる。
(1) メッセージリソースファイルの編集
例外制御で必要となるメッセージの追加を行う。
- “terasoluna-spring-rich-blank/sources/application-messages.properties”を開き、以下のメッセージを追加する。
#例外制御(AP例外)で使うメッセージ AP.00001=入力されたIDは既に登録されています。
(2) ビジネスロジッククラスの編集
例外をthrowする処理を追加する。
- DBAccessBLogicクラスを開き、executeメソッドにユーザが存在する場合の処理にServiceExceptionをthrowする処理を追加する。
・・・略・・・ public ResultData execute(UserBean inputData) { // 結果クラスの生成、結果の設定 ResultData result = new ResultData(); // 入力情報ビジネスロジックの実行 // 返却値が、falseの場合は重複エラー。 // trueの場合は登録処理が正常に終了。 if (!check(inputData)) { // 重複エラー時の処理 //ここから //return result; throw new ServiceException("AP.00001"); //ここまで } // ユーザ情報を登録する。 updateDAO.execute("insertUser", inputData); // ユーザ情報を全件取得する。 List<UserBean> userBeanList = queryDAO.executeForObjectList("getUserList", null); result.setUserBean(userBeanList); result.setTotalCount(Integer.valueOf(userBeanList.size())); return result; } ・・・略・・・
ServiceException生成時に(1)で追加したメッセージキーを渡すことで、エラーメッセージを表示することができる。