Expand my Community achievements bar.

Learn about Edge Delivery Services in upcoming GEM session
SOLVED

Submit HTML5 form to Java JSP and get XML from Request InputStream

Avatar

Level 8

I have developed complex program to submit PDF/XFA to server-side ASP.NET program.

I need now to do the same using Java server-side program.

The approach I am following is to break down the long and complex form into smaller sections. Each section will be a separate XDP form in HTML5 format, and it will have the following common buttons:

- Next

- Previous

- Jump to Section

- Save

- Complete

I am looking for a simple example to explain how to submit a HTML5 form to a Java server-side program (JSP or Servlet) and how to retrieve the submitted XML or the form fields and values.

I did some effort, but still need some help. Please download the basic HTML5 XDP form from here​. See snapshots below for more details. The code to submit is  placed under the "Save" button, click event:

    var theBtnSubmit = cmdSubmitForm.resolveNode("#event").submit;

    var theTarget = form_config.server_url.rawValue + "?" + "action=save" + "&form_id=" + form_config.form_id.rawValue + "&section_id=" + form_config.section_id.rawValue;

    theBtnSubmit.target = theTarget;

    cmdSubmitForm.execEvent("click");

The JSP is very simple. You can download it from here. I used the following lines of code to get the InputStream and convert to string:

ServletInputStream ris = request.getInputStream();

String theString = IOUtils.toString(ris);

I developed a simple Java program using JSP under a Dynamic Web Project.

The problem:

On the server, I am unable to retrieve the form fields and values in XML format. What I am getting is the concatenated values of the fields which are filled.

Tarek

953766_pastedImage_0.png

The hidden Submit Button "cmdSubmitForm:

953781_pastedImage_0.png

953772_pastedImage_12.png

953769_pastedImage_4.png

953773_pastedImage_16.png

1 Accepted Solution

Avatar

Correct answer by
Level 8

Finally, it worked. As a matter of fact, the above method is working fine. The only issue was that the string must be escaped for XML.

I add the following code, and I can now see the XML:

<%@page import="org.apache.commons.lang3.StringEscapeUtils" %>

...

String theString = IOUtils.toString(ris, Charset.forName("UTF-8"));

theString = StringEscapeUtils.escapeXml10(theString);

out.print("input stream in string format : " + theString + "<br/>");

Tarek

View solution in original post

3 Replies

Avatar

Correct answer by
Level 8

Finally, it worked. As a matter of fact, the above method is working fine. The only issue was that the string must be escaped for XML.

I add the following code, and I can now see the XML:

<%@page import="org.apache.commons.lang3.StringEscapeUtils" %>

...

String theString = IOUtils.toString(ris, Charset.forName("UTF-8"));

theString = StringEscapeUtils.escapeXml10(theString);

out.print("input stream in string format : " + theString + "<br/>");

Tarek

Avatar

Level 1

Hi Tarek,

Is there any way we can submit a form/fetch the xml from a HTML5 form, without using a hidden submit button?

Any help/sugestion is much appreciated.

-Tussha

Avatar

Level 8

Sorry Tussha for late reply.

As a matter of fact, we stopped working on HTML5 under Adobe LiveCycle due to many limitations we have faced when we developed a working prototype. We are rebuilding now all forms in pure HTML5/Angular (AngularJS)/Javascript/CSS/Bootstrap.

At this stage, I won't be able to provide any feedback on HTML5 implementation under Adobe LiveCycle since long time has passed already.

Tarek