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
- 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.