Spring-MVCの散歩道 > 応用の森(総合テクニック編) > ツリー階層構造表現
|
■応用の森 階層構造Tree View コントローラ |
コントローラ周りについては、Tree View 表現を行うための特別な処理はありません。 定型的な、FormBeanによるデータ継承と、ビジネスロジック、XMLマッパーによる DB検索の定型的な処理を行っているだけです。 |
1)コントローラ |
まず、コントローラ。 src/main/java/jp/dip/arimodoki/cntl/CreatureClass.java |
最初のメソッド、creaturetree()は、単に初期画面(creature_tree.html)を表示するだけの 単純なメソッドです。 2番目のメソッド、creatureclass()は、viewのjQuery Ajaxにより実行されるメソッドで、 親分類のcode(parent)を受け取って、FormBeanに継承し、ビジネスロジックでDB検索を実行します。 検索結果を、creature_child.html に返却します。 |
2)ビジネスロジック |
次は、DBを検索するためのビジネスロジックです。 src/main/java/jp/dip/arimodoki/blogic/BlCreatureClass.java |
コントローラから継承されたパラメータで、生物分類テーブルを検索し 検索結果のリストから、各ノードの状態のスタイルを設定して、 FormBeanに格納しコントローラに返却します。 |
3)リクエストパラメータ格納FormBean |
次は、リクエスト/レスポンスのパラメータを格納するFormBean src/main/java/jp/dip/arimodoki/model/FormCreatureClass.java |
viewからのリクエストパラメータ(parent/rute)を受け取り、 ビジネスロジックに継承し、 ビジネスロジックからの検索結果をviewに返却するためのbeanです。 |
4)DTO(DataTableObject) |
次は、DB検索結果データを格納するDTO(DataTableObject) src/main/java/jp/dip/arimodoki/model/dto/DtoTblClass.java |
クラスのプロパティと、生物分類マスタテーブル(tblClass)のフィールドが連携しています。 |
5)XML Mapperインターフェース |
次は、DB検索実行処理を行うマッパーインターフェース src/main/java/jp/dip/arimodoki/mapper/TblClassMap.java |
メソッドと、SQLマッパーのidが対応しています。 |
6)SQL Mapper |
最後が、DB検索実行部本体のSQLマッパー定義です。 /WebContentWEB-INF/mappers/TblClassMap.xml |
いかがでしょう、全体的に意外と単純なプログラムですが、 DBのデータさえうまく繋がれば、理論的には無限にツリーを展開することが可能です。 |
生物分類階層構造Tree View(HTML) ![]() |
■応用の森 階層構造Tree View コントローラ |