Webアプリ開発エンジニアのための技術情報サイト「テックスコア」

1. Digesterの基本

1.1. Digesterとは

 Digesterは、Jakarta-Commonsプロジェクトで提供されている、 XMLをJavaBeansへのマッピングを行うバインディングツールです。

当初、Digester は Struts 中のコンポーネントであり、 Struts の定義ファイルである「struts-config.xml」ファイルを読み込むためのものでした。 しかし汎用的に使えるため、Struts から Commons に移動して開発が続けられています。

Digesterはほかのデータバインディングツールと違い、 XMLからJavaBeansへの単方向の読み込みしかサポートしていません。 しかしその分、簡単にロードの処理を行えるようになっています。

Commons Digesterはこちらよりダウンロードできます。 また以下のjarファイルも必要になります。
  • commons-beanutils
  • commons-collections
  • commons-logging
もし無い場合はこちらからダウンロードして下さい。

1.2. 実際の手順

DigesterでXMLを読み込むには次の手順で行います。
  1. Digesterのインスタンスを作成する。
  2. Digesterインスタンスに「パターン」と「ルール」をセットする。
  3. Digesterインスタンスのparse()メソッドを呼んで、戻り値のObjectを取得する。

パターンとは「どういう形か(=条件)」、ルールとは「どうするか(=動作)」を意味します。 例えば「bookという要素にnameという属性があれば」、「BookオブジェクトのsetNameを呼ぶ」といったように条件と動作を設定する必要があります。 Digesterは記述されたパターンとルールに基づきXMLを解析し、 読み込んだXMLが指定したパターンとマッチすれば、ルールに記述された動作を行います。

1.3. パターン

以下のXMLを例にパターンを説明します。

<object>
    <param1>param1</param1>
    <param2>param2</param2>
    
    <parent>
        <child>child</child>
    </parent>
</object>

param1要素に対するパターンは

object/param1

child要素に対するパターンは

object/parent/child

というように、XMLの要素名をスラッシュでつないだ形がパターンになります。 属性を用いたパターンを指定することはできませんが、ワイルドカード(*)を用いたパターンマッチングを指定することができます。



  TECHSCOREのTOPページへ 次のページへ
TECHSCORE PR
PR
PR
PR
PR
PR

techscore(トップページへ)
TECHSCORE書店
TECHSCOREトップページJavaSQLXMLリッチクライアントモデリングセマンティックWebその他技術Tuigwaa