HTML5-formulierverzending verwerken

HTML5-formulieren kunnen worden ingediend bij servlet die in AEM wordt gehost. De verzonden gegevens zijn toegankelijk in de server als een invoerstream. Als u uw HTML5-formulier wilt verzenden, moet u de knop HTTP verzenden aan uw formuliersjabloon toevoegen met AEM Forms Designer

Verzendhandler maken

U kunt een eenvoudige servlet maken voor het verzenden van het HTML5-formulier. De ingediende gegevens kunnen vervolgens worden geëxtraheerd met de volgende code. Dit servlet wordt beschikbaar gesteld als onderdeel van deze zelfstudie. Installeer de servlet gebruiken pakketbeheer

De code van lijn 9 kan worden gebruikt om J2EE proces aan te halen. Zorg ervoor dat u bent geconfigureerd Adobe LiveCycle client SDK Configuration als u de code wilt gebruiken om J2EE-proces aan te roepen.

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());
        */

De verzendURL van het HTML5-formulier configureren

submit-url

  • Tik op de xdp en klik op Eigenschappen->Geavanceerd
  • http://localhost:4502/content/AemFormsSamples/handlehml5formsubmission.html kopiëren en plakken in het tekstveld URL verzenden
  • Klikken SaveAndClose knop.

Item toevoegen in Paden uitsluiten

  • Navigeren naar configMgr.
  • Zoeken naar Adobe graniet-CSRF-filter
  • De volgende vermelding toevoegen in de sectie Uitgesloten paden
  • /content/AemFormsSamples/handlehml5formsubmission
  • Uw wijzigingen opslaan

Het formulier testen

  • Tik op de xdp-sjabloon.
  • Klikken op Voorvertoning->Voorvertonen als HTML
  • Voer gegevens in het formulier in en klik op Verzenden
  • De verzonden gegevens worden naar het bestand stdout.log van de server geschreven

Extra lezingen

Dit artikel bij het genereren van PDF op basis van het indienen van HTML5-formulieren wordt ook aanbevolen.

recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e