目次 > 第2章 Server(Web)版チュートリアル >  2.7 一覧表示 > 2.7.2 入出力クラスの作成と設定

2.7.2 入出力クラスの作成と設定

本項では、一覧表示で必要となる入出力クラスを作成する。
入出力クラスについては、「2.4 ログオン/ログオフ 2.4.3 入出力クラスの作成と設定」を参照のこと。

手順

本項では以下の手順が必要になる。

(1) 入力クラスの作成

  1. “terasoluna-spring-thin-blank\sources”を右クリックする。
  2. 「新規」→「クラス」を選択する。
  3. 以下の通り入力し、「終了」ボタンを押下する。
    • パッケージ:jp.terasoluna.thin.tutorial.web.usermanager.dto
    • 名前:ListInput
  4. 生成されたListInputクラスを以下のように編集する。
    package jp.terasoluna.thin.tutorial.web.usermanager.dto;
    
    /**
     * 
     * 一覧データ取得処理の入力クラス
     *
     */
    public class ListInput {
    
        /**
         * 表示行数。
         */
        private String row = null;
        
        /**
         * 開始インデックス。
         */
        private String startIndex = null;
        
        /**
         * 表示行数を返却する。
         * @return 表示行数
         */
        public String getRow() {
            return row;
        }
    
        /**
         * 表示行数を設定する。
         * @param row 表示行数
         */
        public void setRow(String row) {
            this.row = row;
        }
        
        /**
         * 開始インデックスを返却する。
         * @return 開始インデックス
         */
        public String getStartIndex() {
            return startIndex;
        }
        
        /**
         * 開始インデックスを設定する。
         * @param startIndex 開始インデックス
         */
        public void setStartIndex(String startIndex) {
            this.startIndex = startIndex;
        }
    }
    
    

(2) 出力クラスの作成

  1. “terasoluna-spring-thin-blank\sources”を右クリックする。
  2. 「新規」→「クラス」を選択する。
  3. 以下の通り入力し、「終了」ボタンを押下する。
    • パッケージ:jp.terasoluna.thin.tutorial.web.usermanager.dto
    • 名前:ListOutput
  4. 生成されたListOutputクラスを以下のように編集する。
    package jp.terasoluna.thin.tutorial.web.usermanager.dto;
    
    import java.util.List;
    import jp.terasoluna.thin.tutorial.web.usermanager.vo.SelectUserOutput;
    
    /**
     * 
     * 一覧データ取得処理の出力クラス
     *
     */
    public class ListOutput {
        
        /**
         * 表示用ユーザリスト。
         */
        private List<SelectUserOutput> users = null;
    
        /**
         * ユーザリストの全件数。
         */
        private String totalCount;
        
        /**
         * 表示用ユーザリストを返却する。
         * @return 表示用ユーザリスト
         */
        public List<SelectUserOutput> getUsers() {
            return users;
        }
    
        /**
         * 表示用ユーザリストを設定する。
         * @param users 表示用ユーザリスト
         */
        public void setUsers(List<SelectUserOutput> users) {
            this.users = users;
        }
    
        /**
         * ユーザリストの全件数を返却する。
         * @return ユーザリストの全件数
         */
        public String getTotalCount() {
            return totalCount;
        }
    
        /**
         * ユーザリストの全件数を設定する。
         * @param totalCount ユーザリストの全件数
         */
        public void setTotalCount(String totalCount) {
            this.totalCount = totalCount;
        }
    }
    
    

(3) 入出力設定ファイルの編集

作成した入出力クラスの属性のマッピングを入出力設定ファイルに設定する。

  1. “terasoluna-spring-thin-blank\webapps\WEB-INF\userManager\blogic-userManager-io.xml”を開き、以下の箇所に入出力の設定を追加する。
       <!-- ビジネスロジック入出力定義 -->
    
       ・・・略・・・
    
       <action path="/userManager/listBL">
         <blogic-params
           bean-name="jp.terasoluna.thin.tutorial.web.usermanager.dto.ListInput">
           <set-property property="row" blogic-property="row" source="form" />
           <set-property property="startIndex" blogic-property="startIndex" source="form" />
         </blogic-params>
         <blogic-result>
           <set-property property="totalCount" blogic-property="totalCount" dest="form" />
           <set-property property="users" blogic-property="users" dest="form" />
         </blogic-result>
       </action> 
    

ビジネスロジックでは、表示行数と表示開始インデックスを利用して、1ページに表示するデータを取得する。 そのため、ビジネスロジックの入力クラスに、表示行数(row)と表示開始インデックス(startIndex)をアクションフォームからコピーする必要がある。
また画面では、一覧表示の際に一覧情報の全件数(totalCount)を必要とするため、ビジネスロジックの出力クラスに全件数と表示データを設定し、アクションフォームにコピーする必要がある。

ビジネスロジックについては次項で説明する。


次項:2.7.3 SQLとビジネスロジッククラスの作成

Copyright (C) 2009 NTT DATA CORPORATION