HTML5 forms 用のフォームテンプレートのレンダリング

最終更新日: 2022-08-16
  • トピック:
  • Mobile Forms
    このトピックの詳細を表示
  • 作成対象:
  • User

レンダリングエンドポイント

HTML5 forms には、フォームテンプレートのモバイルレンダリングを可能にするため、REST エンドポイントとして公開される​プロファイル​の概念があります。これらのプロファイルには関連する​プロファイルレンダラー​があります。それらは Forms OSGi サービスを呼び出すことでフォームの HTML 表現を生成する役割を持つ JSP ページです。Profile ノードの JCR パスがレンダリングエンドポイントの URL を決定します。「default」プロファイルを指す、フォームのデフォルトのレンダリングエンドポイントは次のようになります。

https://<host>:<port>/content/xfaforms/profiles/default.html?contentRoot=<path of the folder containg form xdp>&template=<name of the xdp>

例:http://localhost:4502/content/xfaforms/profiles/default.html?contentRoot=c:/xdps&template=sampleForm.xdp

カスタムプロファイルでは、それに応じてエンドポイントが変わります。たとえば、hrforms の名前を持つカスタムプロファイルのエンドポイントは:

http://localhost:4502/content/xfaforms/profiles/hrforms.html?contentRoot=c:/xdps&template=sampleForm.xdp

テンプレートが FormSubmission と呼ばれるアプリケーションの AEM リポジトリにある場合、URI は次のとおりです。

http://localhost:4502/content/xfaforms/profiles/default.html?
 contentRoot=crx:///content/dam/formsanddocuments/FormSubmission/1.0
 &template=sampleForm.xdp

レンダリングパラメーター

次に、HTML 形式でフォームをレンダリングする場合にサポートされるリクエストパラメーターを示します。

パラメーター 説明
テンプレート
このパラメーターはテンプレートファイルの名前を指定します。
contentRoot
このパラメーターはテンプレートとそれに関連するリソースが存在するパスを指定します。このパスにはサーバーのファイルシステムパス、リポジトリパス、http または ftp パスを使用できます。
submitUrl
このパラメーターはフォームのデータ XML がポストされる URL を指定します。

フォームテンプレートとのデータの結合

パラメーター 説明
dataRef このパラメーターはテンプレートと結合されるデータファイルの​絶対パス​を指定します。このパラメーターには XML 形式データを返す REST サービスへの URL を使用できます。
data このパラメーターはテンプレートと結合される UTF-8 エンコードされたデータバイトを指定します。このパラメーターが指定されている場合、HTML5 form は dataRef パラメーターを無視します。

レンダリングパラメーターの送信

HTML5 forms は 3 つの方法によるレンダリングパラメーターの送信をサポートしています。URL、キー値ペア、およびプロファイルノードを使用してパラメーターを渡すことができます。レンダリングパラメーターでは、キー値ペアは最高の優先度を持ち、プロファイルノードがその次に高い優先度を持ちます。URL リクエストパラメーターは最低の優先度を持ちます。

  • URL リクエストパラメーター: レンダリングパラメーターを URL で指定できます。URL リクエストパラメーターでは、パラメーターはエンドユーザーに対して表示されます。例えば送信 URL http://localhost:4502/content/xfaforms/profiles/default.html?contentRoot=/Applications/FormSubmission/1.0&template=sampleForm.xdp には、その中にテンプレートパラメーターが含まれます。

  • SetAttribute リクエストパラメーター: レンダリングパラメーターをキー値ペアとして指定できます。SetAttribute リクエストパラメーターでは、パラメーターはエンドユーザーに対して表示されません。リクエストを他の JSP から HTML5 form のプロファイルレンダラ― JSP に転送し、リクエストオブジェクトで setAttribute を使用してすべてのレンダリングパラメーターを渡すことができます。この方法は最高の優先度を持ちます。

  • プロファイルノードリクエストパラメーター:​レンダリングパラメーターをプロファイルノードのノードプロパティとして指定できます。プロファイルノードリクエストパラメーターでは、パラメーターはエンドユーザーに対して表示されません。プロファイルノードは、リクエストが送信されるノードです。パラメーターをノードプロパティとして指定するには、CRXDE lite を使用します。

送信パラメーター

HTML5 forms はデータを送信し、サーバー側スクリプトおよび Web サービスを AEM サーバーで実行します。サーバー側スクリプトと Web サービスを AEM サーバーで実行するために使用するパラメーターについて詳しくは、HTML5 フォームサービスプロキシを参照してください。

このページ