HTML5-Formularübermittlung handhaben

HTML5-Formulare können an Servlet gesendet werden, das in AEM gehostet wird. Auf die übermittelten Daten kann im Servlet als Eingabestream zugegriffen werden. Um Ihr HTML 5-Formular zu senden, müssen Sie Ihrer Formularvorlage mithilfe von AEM Forms Designer "HTTP-Senden-Schaltfläche"hinzufügen

Erstellen des Submit-Handlers

Ein einfaches Servlet kann erstellt werden, um die Übermittlung des HTML5-Formulars zu verarbeiten. Die übermittelten Daten können dann mithilfe des folgenden Codes extrahiert werden. Diese Servlet wird Ihnen im Rahmen dieses Tutorials zur Verfügung gestellt. Installieren Sie die Servlet using Package Manager

Der Code aus Zeile 9 kann zum Aufrufen des J2EE-Prozesses verwendet werden. Stellen Sie sicher, dass Sie Adobe LiveCycle Client SDK-Konfiguration , 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 Sende-URL des HTML5-Formulars

submit-url

  • Tippen Sie auf die xdp-Datei und klicken Sie auf Eigenschaften->Erweitert
  • Kopieren Sie http://localhost:4502/content/AemFormsSamples/handlehml5formsubmission.html und fügen Sie es in das Textfeld URL senden ein.
  • Klicken SaveAndClose Schaltfläche.

Eintrag in den Ausschlusspfaden hinzufügen

  • 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

  • Tippen 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 gesendeten Daten sehen, die in die stdout.log-Datei Ihres Servers geschrieben wurden.

Zusätzliche Lektion

Diese Artikel Auch bei der Generierung von PDF aus der Übermittlung des HTML5-Formulars wird empfohlen.

Auf dieser Seite