Gestire l’invio di moduli HTML5

I moduli HTML5 possono essere inviati a un servlet ospitato nell’AEM. I dati inviati sono accessibili nel servlet come flusso di input. Per inviare il modulo HTML5 è necessario aggiungere "HTTP Submit Button" al modello di modulo tramite AEM Forms Designer

Creare il gestore di invio

È possibile creare un semplice servlet per gestire l’invio del modulo HTML5. I dati inviati possono quindi essere estratti utilizzando il seguente codice. Questo servlet è reso disponibile come parte di questa esercitazione. Installare servlet utilizzo gestione pacchetti

Il codice della riga 9 può essere utilizzato per richiamare il processo J2EE. Assicurati di aver configurato Adobe configurazione dell’SDK del client del LiveCycle se si intende utilizzare il codice per richiamare il processo J2EE.

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

Configurare l’URL di invio del modulo HTML5

submit-url

  • Tocca l’XDP e fai clic su Proprietà->Avanzate
  • copia http://localhost:4502/content/AemFormsSamples/handlehml5formsubmission.html e incollalo nel campo di testo Invia URL
  • Clic SaveAndClose pulsante.

Aggiungi voce in Exclude Paths (Percorsi di esclusione)

  • Accedi a configMgr.
  • Cerca Filtro CSRF Adobe Granite
  • Aggiungi la seguente voce nella sezione Percorsi esclusi
  • /content/AemFormsSamples/handlehml5formsubmit
  • Salva le modifiche

Testare il modulo

  • Tocca il modello xdp.
  • Fai clic su Anteprima->Anteprima come HTML
  • Immetti alcuni dati nel modulo e fai clic su Invia
  • Dovresti visualizzare i dati inviati scritti nel file stdout.log del server

Letture aggiuntive

Questo articolo durante la generazione di PDF dall’invio del modulo HTML5 è inoltre consigliato.

In questa pagina