アダプティブフォームの作成

これまでに、以下を作成しました。

  • newhirebeneficiaries の 2 つのテーブルを持つデータベース
  • 設定済みの Apache Sling Connection Pooled DataSource
  • RDBMS ベースのフォームデータモデル

次の手順では、フォームデータモデルを使用するアダプティブフォームを作成および設定します。素早く作業を開始するために、サンプルフォームのダウンロードと読み込みができます。サンプルフォームには、従業員の詳細を表示するセクションと、従業員の受益者をリスト表示する別のセクションがあります。

フォームをフォームデータモデルに関連付ける

このコースで提供されるサンプルフォームは、どのフォームデータモデルにも関連付けられていません。フォームデータモデルを使用するようにフォームを設定するには、以下の手順を実行する必要があります。

  • FDMDemo フォームを選択します。
  • プロパティフォームモデル ​をクリックします。
  • ドロップダウンリストから、「フォームデータモデル」を選択します。
  • 前のレッスンで作成したフォームデータモデルを検索して選択します。
  • 保存して閉じる」をクリックします。

事前入力サービスを設定

最初の手順は、フォームに事前入力サービスを関連付けることです。事前入力サービスを関連付けるには、次の手順に従ってください。

  • FDMDemo フォームを選択します

  • 編集」をクリックして、フォームを編集モードで開く

  • コンテンツ階層でフォームコンテナを選択し、レンチアイコンをクリックして、そのプロパティシートを開きます

  • 事前入力サービスドロップダウンリストから「フォームデータモデルの事前入力サービス」を選択します

  • 青色の ☑ をクリックして変更を保存

  • prefill-service

従業員の詳細を設定

次の手順は、アダプティブフォームのテキストフィールドをフォームデータモデルの要素にバインドすることです。次のフィールドのプロパティシートを開き、次に示すように bindRef を設定する必要があります。

フィールド名
バインド参照
FirstName
/newhire/FirstName
LastName
/newhire/lastName
NOTE
テキストフィールドを自由に追加し、適切なフォームデータモデル要素にバインドします。

受益者テーブルを設定

次のステップは、従業員の受益者を表形式で表示することです。提供されるサンプルフォームには、4 列 1 行のテーブルがあります。受益者の数に応じて拡大するようにテーブルを設定する必要があります。

  • フォームを編集モードで開きます。
  • ルートパネル/受益者/テーブルの順に展開します。
  • Row1 を選択し、レンチアイコンをクリックして、そのプロパティシートを開きます。
  • バインド参照を 「/newhire/GetEmployeeHunsiers」に設定します。
  • 繰り返し設定の最小数を「1」に、最大数を「5」に設定します。
  • Row1 の設定は、以下のスクリーンショットのようになります。
    row-configure
  • 青色の ☑ をクリッして、変更を保存します。

行のセルのバインド

最後に、行のセルをフォームデータモデルの要素に連結する必要があります。

  • 「ルートパネル」>「受益者」>「テーブル」>「Row1」を展開します。
  • 次の表に従って、各行のセルのバインド参照を設定します。
行のセル
バインド参照
名前(名)
/newhire/GetEmployeeBeneficiaries/firstname
/newhire/GetEmployeeBeneficiaries/lastname
関連
/newhire/GetEmployeeBeneficiaries/lastname
割合
/newhire/GetEmployeeBeneficiaries/percentage
  • 青色の ☑ をクリッして、変更を保存します。

フォームをテストする

次に、URL 内の適切な empID を使用してフォームを開く必要があります。次の 2 つのリンクは、データベースからの情報をフォームに入力します。
empID=207 のフォーム
empID=208 のフォーム

トラブルシューティング

フォームが空で、データがありません

  • フォームデータモデルが正しい結果を返していることを確認します。
  • フォームが正しいフォームデータモデルに関連付けられています。
  • フィールドのバインディングを確認する
  • stdout ログファイルを確認します。empID がファイルに書き込まれていることを確認してください。この値が表示されない場合は、フォームが提供されたカスタムテンプレートを使用していない可能性があります。

テーブルが入力されていません

  • Row1 のバインディングを確認する
  • Row1 の繰り返し設定が正しく設定されていることを確認します(最小=1、最大= 5 以上)。
recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e