Gestión del envío de formularios HTML5

Los formularios HTML5 se pueden enviar al servlet alojado en AEM. Se puede acceder a los datos enviados en el servlet como flujo de entrada. Para enviar el formulario HTML5, debe agregar "Botón Enviar HTTP" en la plantilla de formulario con AEM Forms Designer

Creación del controlador de envío

Se puede crear un servlet simple para gestionar el envío de formularios HTML5. Los datos enviados se pueden extraer utilizando el siguiente código. Este servlet está disponible como parte de este tutorial. Instale el servlet utilizando el administrador de paquetes

El código de la línea 9 puede utilizarse para invocar el proceso J2EE. Asegúrese de haber configurado la configuración del SDK del cliente de LiveCycle de Adobe si desea utilizar el código para invocar el proceso 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());
        */

Configuración de la URL de envío del formulario HTML5

submit-url

  • Pulse en el xdp y haga clic en Propiedades->Avanzadas
  • copie http://localhost:4502/content/AemFormsSamples/handlehml5formsubmission.html y péguelo en el campo de texto Enviar URL
  • Haga clic en el botón SaveAndClose.

Agregar entrada en Excluir rutas

  • Vaya a configMgr.
  • Buscar Adobe Granite CSRF Filter
  • Agregue la siguiente entrada en la sección Rutas excluidas
  • /content/AemFormsSamples/handlehml5formsubmit
  • Guarde los cambios

Comprobación del formulario

  • Puntee en la plantilla xdp .
  • Haga clic en Vista previa->Vista previa como HTML
  • Introduzca algunos datos en el formulario y haga clic en enviar .
  • Debería ver los datos enviados escritos en el archivo stdout.log de su servidor

Lectura adicional

También se recomienda este artículo sobre la generación de PDF a partir del envío de formularios HTML5.

En esta página