Rendern einer Formularvorlage für HTML5-Formulare

Render-Endpunkt

HTML5-Formulare umfassen das Konzept der Profile, die als REST-Endpunkte bereitgestellt werden, um Formularvorlagen auf Mobilgeräten rendern zu können. Diese Profile sind mit einem Profile Renderer verknüpft. Es handelt sich um JSP-Seiten, auf denen Formulare im HTML-Format generiert werden. Dazu werden Forms OSGi-Services aufgerufen. Der JCR-Pfad der Profil-Node bestimmt die URL des Render-Endpunkts. Der Standard-Render-Endpunkt des Formulars, der auf das Standard-Profil verweist, sieht wie folgt aus:

https://<Host>:<Port>/content/xfaforms/profiles/default.html?contentRoot=<Pfad des Ordners mit der Formular-XDP>&template=<Name der XDP>

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

Bei einem benutzerdefinierten Profil wird der Endpunkt entsprechend geändert. Beispiel: Der Endpunkt für das benutzerdefinierte Profil mit dem Namen „hrforms“ lautet:

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

Wenn sich die Vorlage im AEM-Repository in einer Anwendung namens FormSubmission befindet, lautet die URI:

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

Render-Parameter

Die folgenden Anforderungsparameter werden beim Rendern von Formularen als HTML unterstützt:

Parameter Beschreibung
template
Dieser Parameter gibt den Namen der Vorlagendatei an.
contentRoot
Dieser Parameter gibt den Pfad an, in dem sich die Vorlage und die zugehörigen Ressourcen befinden. Dieser Pfad kann der Server-Dateisystempfad, ein Repository-Pfad, ein HTTP- oder ein FTP-Pfad sein.
submitUrl
Dieser Parameter gibt die URL an, an die die Formulardaten-XML gesendet wird.

Zusammenführen von Daten mit einer Formularvorlage

Parameter Beschreibung
dataRef Dieser Parameter gibt den absoluten Pfad der Datendatei an, die mit der Vorlage zusammengeführt wird. Dieser Parameter kann eine URL eines REST-Services sein, der die Daten im XML-Format zurückgibt.
data Dieser Parameter gibt die als UTF-8 kodierte Datenbyte an, die mit der Vorlage zusammengeführt werden. Wenn dieser Parameter festgelegt ist, wird der Parameter „dataRef“ im HTML5-Formular ignoriert.

Übergeben eines Render-Parameters

HTML5-Formulare unterstützen drei Methoden zum Übergeben der Render-Parameter. Sie können Parameter mithilfe von URLs, Schlüssel/Wert-Paaren und Profilknoten übergeben. Im Render-Parameter erhalten die Schlüssel/Wert-Paare die höchste Priorität, gefolgt von den Profilknoten. Der URL-Anforderungsparameter erhält die geringste Priorität.

  • URL-Anforderungsparameter: Sie können die Render-Parameter in der URL angeben. In den URL-Anforderungsparametern sind die Parameter für den Endbenutzer sichtbar. Beispielsweise enthält die folgende Sende-URL die Vorlagenparameter in der URL: http://localhost:4502/content/xfaforms/profiles/default.html?contentRoot=/Applications/FormSubmission/1.0&template=sampleForm.xdp

  • setAttribute-Anforderungsparameter: Sie können die Render-Parameter als Schlüssel/Wert-Paar angeben. In den setAttribute-Anforderungsparametern sind die Parameter für den Endbenutzer nicht sichtbar. Sie können eine Anforderung von einem beliebigen anderen JSP an den JSP des Profil-Renderers für HTML5-Formulare weiterleiten und als Anforderungsobjekt setAttribute verwenden, um alle Render-Parameter zu übergeben. Diese Methode hat die höchste Priorität.

  • Profilknoten-Anforderungsparameter: Sie können die Render-Parameter als Knoteneigenschaften eines Profilknotens angeben. In den Profilknoten-Anforderungsparametern sind die Parameter für den Endbenutzer nicht sichtbar. Profilknoten ist der Knoten, an den die Anforderung gesendet wird. Um Parameter als Knoteneigenschaften festzulegen, verwenden Sie CRXDE lite.

Sende-Parameter

HTML5-Formulare senden Daten und führen serverseitige Skripte und Webdienste auf AEM-Servern aus. Detaillierte Informationen zu Parametern für die Ausführung serverseitiger Skripte und Webdienste auf AEM-Servern finden Sie unter HTML5 forms Service Proxy.

Auf dieser Seite