メイン コンテンツをスキップする 補完的コンテンツへスキップ

ドロップダウンリストを作成

このジョブでは、MySQLデータベーステーブルを使って、Talendジョブにドロップダウンリストを作成する方法を示します。

このジョブは、次のコンポーネントを使用します:

  • コンテキスト変数で、ドロップダウンリストを準備して、ランタイムにユーザーから選択された値を保管するtJava
  • employeeテーブルから人物情報をクエリーするtMysqlInputコンポーネント、
  • コンソールに結果を出力するtLogRowコンポーネント。

手順

  1. Talend Studioで、DropDownListExampleという名前の新しいジョブを作成します。
  2. [Contexts] (コンテキスト)タブをクリックし、String型のコンテキスト変数を定義して、nameと名付けます。この変数に、ランタイムにユーザーから選択されたドロップダウンの値が保管されます。
  3. [Palette] (パレット)から、デザインワークスペースにtJavaコンポーネントとtMysqlInputコンポーネントをドロップします。[Trigger > OnSubjobOk] (トリガー > サブジョブがOKの場合)リンクを使って、tJavaコンポーネントとtMysqlInputコンポーネントを接続します。
  4. tLogRowコンポーネントをドロップし、[Row > Main] (行 > メイン)リンクを使って、それをtMysqlInputに接続します。
  5. tJavaをダブルクリックし、次の操作を行います:
    1. 以下のJavaコードを追加して、ドロップダウンリストを準備します:
      String[] nameStrings = { "Elisa", "Nicolas", "Cedric", "Rabbit", "Mike","Sabrina","Stephane","Jim","John"};
                                  JFrame frame = new JFrame("Input Dialog Example");
                                  String returnValue = (String) JOptionPane.showInputDialog(frame,
                                  "Select the name you want to query?","Employee Information",JOptionPane.QUESTION_MESSAGE,null,nameStrings,nameStrings[0]);
                                  context.name=returnValue; //store the value to the context variable
    2. ランタイムにユーザーから選択された値をコンテキスト変数に保管します。
    3. [Advanced settings] (詳細設定)をクリックして、このジョブで使用されるクラスの完全パスをインポートします。
  6. tMysqlInputを設定して、employeeテーブルから人物情報をクエリーします:
    1. [Query] (クエリー)ボックスで、コンテキスト変数を使って、ランタイムにユーザーから選択された従業員の情報を選択します。
      "select * from employee where name='"+context.name+"'"
    2. [Edit Schema] (スキーマを編集)ダイアログボックスで、従業員テーブルのデータストラクチャーを定義します。
  7. tLogrowをダブルクリックして、その設定を指定して、Studioコンソールに結果を出力します。
  8. ジョブを実行して、求められたらドロップダウンリストから名前を1つ選択します。
  9. たとえば、リストからStephaneを選択します。情報がテーブルからクエリーされて、コンソールに出力されます。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。