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. Installa il servlet utilizzando Gestione pacchetti

Il codice della riga 9 può essere utilizzato per richiamare il processo J2EE. Assicurarsi di aver configurato Configurazione Adobe LiveCycle Client SDK se si desidera 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
  • Fare clic sul pulsante SalvaEChiudi.

Aggiungi voce in Exclude Paths (Percorsi di esclusione)

  • Passare 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

Si consiglia anche questo articolo sulla generazione di PDF dall'invio del modulo HTML5.

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