HTML5-Forms mit Datenattribut auffüllen

Besuchen Sie die Seite AEM Forms samples für einen Link zu einer Live-Demo dieser Funktion.

XDP-Vorlagen, die mit AEM Forms im HTML-Format wiedergegeben werden, werden als HTML5 oder Mobile Forms bezeichnet. Ein gängiger Anwendungsfall besteht darin, diese Formulare vorab auszufüllen, wenn sie wiedergegeben werden.

Es gibt 2 Möglichkeiten, Daten mit der XDP-Vorlage zusammenzuführen, wenn sie als HTML gerendert werden.

dataRef: Sie können den Parameter dataRef in der URL verwenden. 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 UTF-8-kodierten Datenbytes an, die mit der Vorlage zusammengeführt werden. Wenn dieser Parameter festgelegt ist, wird der Parameter „dataRef“ im HTML5-Formular ignoriert. Als Best Practice wird empfohlen, den Datenansatz zu verwenden.

Es wird empfohlen, das Datenattribut in der Anfrage mit den Daten festzulegen, mit denen das Formular vorausgefüllt werden soll.

slingRequest.setAttribute("data", content);

In diesem Beispiel legen wir das Datenattribut mit dem Inhalt fest. Der Inhalt stellt die Daten dar, mit denen Sie das Formular vorab ausfüllen möchten. Normalerweise würden Sie den "Inhalt"abrufen, indem Sie einen REST-Aufruf an einen internen Dienst durchführen.

Dazu müssen Sie ein benutzerdefiniertes Profil erstellen. Die Details zum Erstellen eines benutzerdefinierten Profils werden in der AEM Forms-Dokumentation hier erläutert.

Nachdem Sie Ihr benutzerdefiniertes Profil erstellt haben, erstellen Sie eine JSP-Datei, die die Daten abruft, indem Sie Aufrufe an Ihr Backend-System vornehmen. Nachdem die Daten abgerufen wurden, verwenden Sie slingRequest.setAttribute("data", content); zum Vorausfüllen des Formulars

Wenn die XDP gerendert wird, können Sie auch einige Parameter an die xdp übergeben und basierend auf dem Wert des Parameters können Sie die Daten aus dem Backend-System abrufen.

Beispielsweise hat diese URL den Parameter name .

Die JSP, die Sie schreiben, hat Zugriff auf den Parameter name über request.getParameter("name") . Anschließend können Sie den Wert dieses Parameters an Ihren Backend-Prozess übergeben, um die erforderlichen Daten abzurufen.
Um diese Funktion auf Ihrem System verwenden zu können, führen Sie die folgenden Schritte aus:

HINWEIS

Wenn Sie Ihr Formular durch Aufrufen des Workbench-Prozesses ausfüllen möchten, sollten Sie die callWorkbenchProcess.jsp in Ihre /apps/AEMFormsDemoListings/customprofiles/PrepopulateForm/html.jsp anstatt in setdata.jsp aufnehmen.

Auf dieser Seite