アダプティブフォームの作成
これまでに、以下を作成しました。
newhire
とbeneficiaries
の 2 つのテーブルを持つデータベース- 設定済みの Apache Sling Connection Pooled DataSource
- RDBMS ベースのフォームデータモデル
次の手順では、フォームデータモデルを使用するアダプティブフォームを作成および設定します。素早く作業を開始するために、サンプルフォームのダウンロードと読み込みができます。サンプルフォームには、従業員の詳細を表示するセクションと、従業員の受益者をリスト表示する別のセクションがあります。
フォームをフォームデータモデルに関連付ける
このコースで提供されるサンプルフォームは、どのフォームデータモデルにも関連付けられていません。フォームデータモデルを使用するようにフォームを設定するには、以下の手順を実行する必要があります。
- FDMDemo フォームを選択します。
- プロパティ/フォームモデル をクリックします。
- ドロップダウンリストから、「フォームデータモデル」を選択します。
- 前のレッスンで作成したフォームデータモデルを検索して選択します。
- 「保存して閉じる」をクリックします。
事前入力サービスを設定
最初の手順は、フォームに事前入力サービスを関連付けることです。事前入力サービスを関連付けるには、次の手順に従ってください。
-
FDMDemo
フォームを選択します -
「編集」をクリックして、フォームを編集モードで開く
-
コンテンツ階層でフォームコンテナを選択し、レンチアイコンをクリックして、そのプロパティシートを開きます
-
事前入力サービスドロップダウンリストから「フォームデータモデルの事前入力サービス」を選択します
-
青色の ☑ をクリックして変更を保存
-
従業員の詳細を設定
次の手順は、アダプティブフォームのテキストフィールドをフォームデータモデルの要素にバインドすることです。次のフィールドのプロパティシートを開き、次に示すように bindRef を設定する必要があります。
受益者テーブルを設定
次のステップは、従業員の受益者を表形式で表示することです。提供されるサンプルフォームには、4 列 1 行のテーブルがあります。受益者の数に応じて拡大するようにテーブルを設定する必要があります。
- フォームを編集モードで開きます。
- ルートパネル/受益者/テーブルの順に展開します。
- Row1 を選択し、レンチアイコンをクリックして、そのプロパティシートを開きます。
- バインド参照を 「/newhire/GetEmployeeHunsiers」に設定します。
- 繰り返し設定の最小数を「1」に、最大数を「5」に設定します。
- Row1 の設定は、以下のスクリーンショットのようになります。
- 青色の ☑ をクリッして、変更を保存します。
行のセルのバインド
最後に、行のセルをフォームデータモデルの要素に連結する必要があります。
- 「ルートパネル」>「受益者」>「テーブル」>「Row1」を展開します。
- 次の表に従って、各行のセルのバインド参照を設定します。
- 青色の ☑ をクリッして、変更を保存します。
フォームをテストする
次に、URL 内の適切な empID を使用してフォームを開く必要があります。次の 2 つのリンクは、データベースからの情報をフォームに入力します。
empID=207 のフォーム
empID=208 のフォーム
トラブルシューティング
フォームが空で、データがありません
- フォームデータモデルが正しい結果を返していることを確認します。
- フォームが正しいフォームデータモデルに関連付けられています。
- フィールドのバインディングを確認する
- stdout ログファイルを確認します。empID がファイルに書き込まれていることを確認してください。この値が表示されない場合は、フォームが提供されたカスタムテンプレートを使用していない可能性があります。
テーブルが入力されていません
- Row1 のバインディングを確認する
- Row1 の繰り返し設定が正しく設定されていることを確認します(最小=1、最大= 5 以上)。