Gérer l’envoi de formulaire HTML5

Les formulaires HTML5 peuvent être envoyés au servlet hébergé dans AEM. Les données envoyées sont accessibles dans le servlet sous la forme d’un flux d’entrée. Pour envoyer votre formulaire HTML5, vous devez ajouter le "bouton Envoyer via HTTP" à votre modèle de formulaire à l’aide d’AEM Forms Designer.

Créer votre gestionnaire d’envoi

Un servlet simple peut être créé pour gérer l’envoi du formulaire HTML5. Les données envoyées peuvent ensuite être extraites à l’aide du code suivant. Ce servlet est mis à votre disposition dans le cadre de ce tutoriel. Installez le servlet à l’aide de gestionnaire de modules.

Le code de la ligne 9 peut être utilisé pour appeler le processus J2EE. Assurez-vous d’avoir configuré la configuration du SDK client Adobe LiveCycle si vous envisagez d’utiliser le code pour appeler le processus 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());
        */

Configuration de l’URL d’envoi du formulaire HTML5

submit-url

  • Appuyez sur xdp et cliquez sur Propriétés->Avancé
  • copiez http://localhost:4502/content/AemFormsSamples/handlehml5formsubmission.html et collez-le dans le champ de texte URL d’envoi .
  • Cliquez sur le bouton SaveAndClose .

Ajouter une entrée dans les chemins d’exclusion

  • Accédez à configMgr.
  • Recherchez Adobe Granite CSRF Filter
  • Ajoutez l’entrée suivante dans la section Chemins exclus .
  • /content/AemFormsSamples/handlehml5formsubmission
  • Enregistrez vos modifications

Tester le formulaire

  • Appuyez sur le modèle xdp.
  • Cliquez sur Aperçu->Aperçu au format HTML
  • Saisissez des données dans le formulaire, puis cliquez sur Envoyer.
  • Les données envoyées doivent être écrites dans le fichier stdout.log de votre serveur.

Lecture supplémentaire

Cet article sur la génération de PDF à partir de l’envoi du formulaire HTML5 est également recommandé.

Sur cette page