Tratar Envio de Formulário HTML5

Os formulários HTML5 podem ser enviados ao servlet hospedado no AEM. Os dados enviados podem ser acessados no servlet como um fluxo de entrada. Para enviar o formulário HTML5, é necessário adicionar o "Botão de envio HTTP" ao modelo de formulário usando o AEM Forms Designer

Criar seu manipulador de envio

Um servlet simples pode ser criado para lidar com o envio do formulário HTML5. Os dados enviados podem ser extraídos usando o código a seguir. Este servlet O é disponibilizado para você como parte deste tutorial. Instale o servlet usar gerenciador de pacotes

O código da linha 9 pode ser usado para chamar o processo J2EE. Verifique se você configurou o Configuração do SDK do cliente do LiveCycle Adobe se você pretende usar o código para chamar o 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());
        */

Configure a URL de envio do formulário HTML5

submit-url

  • Clique no xdp e Propriedades->Avançado
  • copie http://localhost:4502/content/AemFormsSamples/handlehml5formsubmission.html e cole no campo de texto Enviar URL
  • Clique em SalvarEfechar botão.

Adicionar entrada nos Caminhos de exclusão

  • Navegue até configMgr.
  • Pesquisar por Filtro CSRF do Adobe Granite
  • Adicione a seguinte entrada na seção Caminhos excluídos
  • /content/AemFormsSamples/handlehml5formsubmit
  • Salve as alterações

Testar o formulário

  • Toque no modelo xdp.
  • Clique em Visualizar->Visualizar como HTML
  • Insira alguns dados no formulário e clique em enviar
  • Você deve ver os dados enviados gravados no arquivo stdout.log do seu servidor

Leitura adicional

Este artigo ao gerar PDF a partir do envio do formulário HTML5 também é recomendado.

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