Controlar el envío de formularios de HTML 5

Los formularios de HTML AEM 5 se pueden enviar al servlet alojado en la base de datos de. Se puede acceder a los datos enviados en el servlet como una secuencia de entrada. Para enviar el formulario de HTML5, debe agregar el botón de envío HTTP en la plantilla de formulario mediante AEM Forms Designer

Cree su controlador de envío

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

El código de la línea 9 se puede utilizar para invocar el proceso J2EE. Asegúrese de que ha configurado Configuración del SDK del cliente de LiveCycle de Adobe si tiene intención de 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 de HTML5

submit-url

  • Pulse en el xdp y haga clic en Propiedades->Avanzadas
  • copie http://localhost:4502/content/AemFormsSamples/handlehml5formsubmission.html y pegue esto en el campo de texto Enviar URL
  • Clic Guardar y cerrar botón.

Añadir entrada en las rutas de exclusión

  • Vaya a configMgr.
  • Buscar por Adobe Granite CSRF Filter
  • Añada la siguiente entrada en la sección Rutas excluidas
  • /content/AemFormsSamples/handlehml5formsubmission
  • Guarde los cambios

Prueba del formulario

  • Pulse en la plantilla xdp.
  • Haga clic en Previsualizar->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

Esta artículo sobre la generación de un PDF a partir del envío del formulario de HTML5 también se recomienda.

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