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

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

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

https://<host>:<port/content/xfaforms/profiles/default.html?contentRoot=<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は、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 フォームサービスプロキシを参照してください。

このページ