データベースの検索結果をHTMLに出力し、ウェブブラウザから確認したい
キーワード:HTML,HTTPトリガー,データベース
概要
データベースの検索結果をHTMLに出力し、ウェブブラウザから確認したい場合、HTTPトリガーを使用してスクリプトを実行します。スクリプト内のHTMLデータ生成処理でHTMLを生成し、スクリプト出力変数を使用してウェブブラウザに渡します。
サンプルプロジェクトの説明
製品在庫マスタテーブルから「在庫数量」が「100」未満の商品リストを取得し、取得したデータをもとにHTMLを生成します。生成したHTMLを戻り値としてウェブブラウザに渡すため、スクリプト変数に格納します。

処理の流れ
サンプルプロジェクトの処理の流れは以下の通りです。- 「検索系SQL実行処理」で製品在庫マスタテーブルから「在庫数量」が「100」未満の商品リストを取得します。
- 「HTMLデータ生成処理」で、取得した商品リストをもとにHTMLを生成します。
- 「変数代入処理」で生成したHTMLをスクリプト変数に格納します。

- HTTPトリガーを有効にして、指定したURLにウェブブラウザからアクセスします。
表示された画面の左フレームにあるリンク「在庫残少リスト」を押下します。
- スクリプトが実行され、結果が表示されます。
ポイントとなる機能
名前 | 説明 | ツールパレット上の場所 |
---|---|---|
HTMLデータ生成処理 | Velocityを用いてメモリ上にHTMLデータを生成します。 | 「ファイル」-「HTML」-「HTMLデータ生成」 |
処理のポイント
- HTML生成処理のHTMLビルダーでVelocityテンプレートを編集し、検索系SQL実行処理で取得したデータを参照します。
取得したデータを用いた繰り返し処理をVelocityテンプレートに追加することで、取得したレコード数分、HTMLの記述を繰り返すことが可能です。
HTMLビルダーの詳細については、DataSpider Servistaヘルプの「HTMLビルダー」を参照してください。
- 生成したHTMLはスクリプト出力変数に代入し、スクリプト外からの参照を可能にします。
- HTTPトリガーの「実行内容の設定」画面の[スクリプト出力]の設定で、「HTML出力」の[値]にトリガー変数「trigger.outputData」を設定します。
上記によって、スクリプト出力変数の値がウェブブラウザに渡されます。
HTTPトリガーの詳細については、DataSpider Servistaヘルプの「HTTPトリガー」を参照してください。
サンプルプロジェクトの使用方法
上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。サンプルプロジェクトのダウンロード | 逆引きリファレンス シナリオ041-043のサンプルプロジェクト |
---|
- サンプルプロジェクトの展開
サンプルプロジェクトファイル「rl_reference_041-043.zip」を展開します。 - プロジェクトのアップロード
「rl_reference_041-043.zip」を展開後に作成される「rl_reference_041-043プロジェクト」ディレクトリがプロジェクトファイルとなります。
DataSpider Studioを起動し、マイプロジェクトの画面から[ファイル]-[ローカルからアップロード]で展開したディレクトリ「rl_reference_041-043プロジェクト」をアップロードしてください。
本シナリオに該当するスクリプトは、「rl_reference_041-043プロジェクト」のスクリプト「rl_reference_041」です 。
- サンプルデータの準備
「rl_reference_041-043.zip」を展開後に作成される「samples」ディレクトリがサンプルデータとなります。
$DATASPIDER_HOME/server/samplesディレクトリに上書きしてください。 - サンプルデータベースの準備
共通サンプルDBの「sample.zip」を展開し、「Sample.mdb」をODBCのデータソースに登録します。 - グローバルリソースの設定
コントロールパネルの[グローバルリソースの設定]から、[新しいグローバルリソースの追加]を選択し、Accessのグローバルリソースを追加します。
グローバルリソースの設定方法については、DataSpider Servistaヘルプの「グローバルリソースのプロパティ」を参照してください。
- プロジェクトをサービスとして登録
スクリプトをHTTPトリガーから実行するため、プロジェクトをサービスとして登録します。
デザイナから[ファイル]-[プロジェクトをサービスとして登録]を選択して登録します。
サービス名は、「root@rl_reference_041-043プロジェクト」を設定します。 - HTTPトリガーの作成
マイトリガーの画面から[ファイル]-[新規トリガー作成]を選択し、HTTPトリガーを作成します。
HTMLトリガーは、以下のように設定します。HTTPトリガーの設定
処理のポイント
- HTTPトリガー実行のURLは、[実行パス]に「/sample_01」を設定してるため以下となります。
http://<DataSpiderServer稼働OSのホスト名またはIPアドレス>:<ポート番号>/dataspider/trigger/sample_01 - HTTPトリガー実行のURLにアクセスすると、スクリプトが実行されます。
実行内容の設定
処理のポイント
- [スクリプト出力]の設定で、「HTML出力」の[値]にトリガー変数「trigger.outputData」を設定します。
上記によって、スクリプト出力変数の値がウェブブラウザに渡されます。
- HTTPトリガー実行のURLは、[実行パス]に「/sample_01」を設定してるため以下となります。
- HTTPトリガー実行のURL変更
サンプルプロジェクトのサンプルデータ「menu.html」に記述されている「在庫残少リスト」のリンクを、設定したHTTPトリガー実行のURLに変更します。
<a href="http://<DataSpiderServer稼働OSのホスト名またはIPアドレス>:<ポート番号>/dataspider/trigger/sample_01" target="contents">在庫残少リスト</a>
スクリプトの作成手順

- HTML出力データとして使用するスクリプト変数を作成します。
- スクリプト変数のプロパティは、以下のように設定します。
スクリプト変数のプロパティ
変数名 変数型 初期値 スクリプト出力変数として使用する HTML出力 文字列型 チェックを入れる
- スクリプト変数のプロパティは、以下のように設定します。
- デザイナのツールパレット「データベース」-「Access」-「検索系SQL実行」から、検索系SQL実行処理をスクリプトキャンバスに配置します。
- 検索系SQL実行処理の設定は、以下のように行います。
[必須設定]タブ
[SQL文]は以下のように設定しています。
SELECT
製品在庫マスタテーブル.ローカル製品コード,
製品在庫マスタテーブル.在庫数量,
製品マスタテーブル.製品名,
製品マスタテーブル.共通製品コード
FROM (
製品在庫マスタテーブル
INNER JOIN 製品マスタテーブル
ON 製品在庫マスタテーブル.ローカル製品コード = 製品マスタテーブル.ローカル製品コード )
WHERE
製品在庫マスタテーブル.在庫数量 < 100
ORDER BY
製品在庫マスタテーブル.在庫数量
- 検索系SQL実行処理の設定は、以下のように行います。
- デザイナのツールパレット「ファイル」-「HTML」-「HTMLデータ生成」から、HTMLデータ生成処理をスクリプトキャンバスに配置します。
- HTMLビルダーを開き、検索系SQL実行処理で取得した結果をもとにHTMLを生成するため、Velocityテンプレートを編集します。
- HTMLビルダーは、以下のように設定します。
HTMLビルダー
処理のポイント
- Velocityテンプレートを編集し、検索系SQL実行処理で取得したデータを参照します。
取得したデータを用いた繰り返し処理をVelocityテンプレートに追加することで、取得したレコード数分、HTMLの記述を繰り返すことが可能です。
HTMLビルダーの詳細については、DataSpider Servistaヘルプの「HTMLビルダー」を参照してください。
- Velocityテンプレートを編集し、検索系SQL実行処理で取得したデータを参照します。
- HTMLビルダーは、以下のように設定します。
- デザイナのツールパレット「基本」-「処理」-「変数代入」から、変数代入処理をスクリプトキャンバスに配置します。
- 変数代入処理のMapperエディタを開き、生成したHTMLをスクリプト変数に代入する処理を作成します。
- マッピングキャンバスは、以下のように設定します。
マッピングキャンバス
HTMLデータ生成処理のコンポーネント変数「html_data」には、生成したHTMLデータが格納されます。
- マッピングキャンバスは、以下のように設定します。
- スクリプトを保存し、プロジェクトをサービス登録後、HTTPトリガーを有効にします。
サンプルプロジェクトのサンプルデータ「index.html」の「在庫残少リスト」を押下後に、生成したHTMLが表示されれば成功です。