Handhabung einer HTML5-Formularübermittlung

Letzte Aktualisierung: 2024-01-29
  • Erstellt für:
  • Experienced
    Developer

HTML5-Formulare können an ein in AEM gehostetes Servlet gesendet werden. Auf die übermittelten Daten kann im Servlet als Eingabe-Stream zugegriffen werden. Um Ihr HTML 5-Formular zu senden, müssen Sie Ihrer Formularvorlage mithilfe von AEM Forms Designer eine Schaltfläche zur HTTP-Übermittlung hinzufügen.

Erstellen des Übermittlungs-Handlers

Ein einfaches Servlet kann für die Übermittlung des HTML5-Formulars erstellt werden. Die übermittelten Daten können dann mithilfe des folgenden Codes extrahiert werden. Dieses Servlet wird Ihnen im Rahmen dieses Tutorials zur Verfügung gestellt. Installieren Sie das Servlet mit Package Manager.

Der Code aus Zeile 9 kann zum Aufrufen des J2EE-Prozesses verwendet werden. Stellen Sie sicher, dass Sie die Adobe LiveCycle Client SDK-Konfiguration eingerichtet haben, wenn Sie den Code zum Aufrufen des J2EE-Prozesses verwenden möchten.

StringBuffer stringBuffer = new StringBuffer();
String line = null;
java.io.InputStreamReader isReader = new java.io.InputStreamReader(request.getInputStream(), "UTF-8");
java.io.BufferedReader reader = new java.io.BufferedReader(isReader);
while ((line = reader.readLine()) != null) {
    stringBuffer.append(line);
}
System.out.println("The submitted form data is " + stringBuffer.toString());
/*
        * java.util.Map params = new java.util.HashMap();
        * params.put("in",stringBuffer.toString());
        * com.adobe.livecycle.dsc.clientsdk.ServiceClientFactoryProvider scfp =
        * sling.getService(com.adobe.livecycle.dsc.clientsdk.
        * ServiceClientFactoryProvider.class);
        * com.adobe.idp.dsc.clientsdk.ServiceClientFactory serviceClientFactory =
        * scfp.getDefaultServiceClientFactory(); com.adobe.idp.dsc.InvocationRequest ir
        * = serviceClientFactory.createInvocationRequest("Test1/NewProcess1", "invoke",
        * params, true);
        * ir.setProperty(com.adobe.livecycle.dsc.clientsdk.InvocationProperties.
        * INVOKER_TYPE,com.adobe.livecycle.dsc.clientsdk.InvocationProperties.
        * INVOKER_TYPE_SYSTEM); com.adobe.idp.dsc.InvocationResponse response1 =
        * serviceClientFactory.getServiceClient().invoke(ir);
        * System.out.println("The response is "+response1.getInvocationId());
        */

Konfigurieren der Übermittlungs-URL des HTML5-Formulars

Übermittlungs-URL

  • Klicken Sie auf die XDP-Datei und dann auf Eigenschaften > Erweitert.
  • Kopieren Sie den Pfad „http://localhost:4502/content/AemFormsSamples/handlehml5formsubmission.html“ und fügen Sie ihn in das Textfeld „Übermittlungs-URL“ ein.
  • Klicken Sie auf die Schaltfläche Speichern und schließen.

Hinzufügen eines Eintrags in die Ausschlusspfade

  • Navigieren Sie zu configMgr.
  • Suchen Sie nach Adobe Granite CSRF Filter.
  • Fügen Sie den folgenden Eintrag im Abschnitt „Ausgeschlossene Pfade“ hinzu:
  • /content/AemFormsSamples/handlehml5formsubmission
  • Speichern Sie Ihre Änderungen

Testen des Formulars

  • Klicken Sie auf die XDP-Vorlage.
  • Klicken Sie auf Vorschau > Vorschau als HTML.
  • Geben Sie Daten in das Formular ein und klicken Sie auf „Senden“.
  • Sie sollten die übermittelten Daten in der stdout.log-Datei Ihres Servers sehen.

Zusätzliche Informationen

Sie sollten auch diesen Artikel zur PDF-Generierung bei HTML5-Formularübermittlung lesen.

Auf dieser Seite