Rendern einer Formularvorlage für HTML5-Formulare

Render-Endpunkt

HTML5-Formulare haben den Begriff Profile, die als REST-Endpunkte verfügbar gemacht werden, um die mobile Wiedergabe von Formularvorlagen zu ermöglichen. Diese Profile haben Profil-Renderer zugeordnet. Es handelt sich um JSP-Seiten, die für das Generieren der HTML-Darstellung des Formulars durch Aufruf des Forms OSGi-Dienstes verantwortlich sind. 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 dem 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 zu einem REST-Dienst 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 hat 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 den 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