HTML5-Formularübermittlung bearbeiten

HTML5-Formulare können an ein in AEM gehostetes Servlet gesendet werden. Auf die gesendeten Daten kann im Servlet als Eingabestream zugegriffen werden. Zum Senden Ihres HTML5-Formulars müssen Sie Ihrer Formularvorlage mit AEM Forms Designer "HTTP-Senden-Schaltfläche"hinzufügen.

Senden-Handler erstellen

Ein einfaches Servlet kann erstellt werden, um die Übermittlung des HTML5-Formulars zu verarbeiten. Die gesendeten Daten können dann mithilfe des folgenden Codes extrahiert werden. Dieses Servlet wird Ihnen im Rahmen dieses Lernprogramms zur Verfügung gestellt. Installieren Sie das Servlet mit Paketmanager

Der Code aus Zeile 9 kann zum Aufrufen des J2EE-Prozesses verwendet werden. Vergewissern Sie sich, dass Sie Adobe LiveCycle Client SDK Configuration konfiguriert 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 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 Sie auf die Schaltfläche SaveAndClose.

hinzufügen Eintrag in den Ausschließen-Pfaden

  • Navigieren Sie zu configMgr.
  • Suchen Sie nach Adobe Granite CSRF Filter
  • hinzufügen den folgenden Eintrag im Abschnitt Ausgeschlossene Pfade
  • /content/AEMFormsSamples/handlehml5formsubmission
  • Speichern Sie Ihre Änderungen

Formular testen

  • Tippen Sie auf die xdp-Vorlage.
  • Klicken Sie auf Vorschau->Vorschau als HTML
  • Geben Sie einige Daten in das Formular ein und klicken Sie auf Senden
  • Sie sollten die gesendeten Daten sehen, die in die Datei stdout.log Ihres Servers geschrieben wurden.

Zusätzliche Lesung

Dieser Artikel beim Generieren von PDF-Dateien aus der Übermittlung von HTML5-Formularen wird ebenfalls empfohlen.

Auf dieser Seite