Monday, 26 May 2014

Posting AEM 6 Form Data to Custom Services

You can create an Adobe Experience Manager (AEM) 6 form and submit the data to a custom AEM service. The custom service can process the data to meet your business requirements. For example, you can store the data in a database or send the data within an email message. However, to keep this article simple, the custom AEM service writes the posted data to the AEM log file.
An AEM 6 form can be consumed in a mobile device or a web browser running on a desktop. For example, consider a mobile user filling out the following AEM 6 form on an IPad device..

When the user clicks the Submit button, the form data is submitted to an AEM Sling Servlet. Once the data reaches the Sling Servlet, you can process the mobile data to meet your business requirements. For example, you can store it in a relational database, store it in the AEM JCR, or pass it to an AEM Workflow (just to give a few examples).

To read this development article, click

Join the Adobe Experience Cloud Community 

Join the Adobe Experience Cloud Community by clicking this banner

I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more CQ or other Adobe Digital Marketing end to end articles like this, then leave a comment and let me know what content you would like to see.

TwitterFollow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.

YouTube: Subscribe to the AEM Community Channel


  1. Thanks for the article. This article talks about posting the form data to an osgi service,but its mentioned that it posts data to an AEM sling servlet.
    What if we need to post the data to a sling servlet. Do we call the methods of the servlet same as an osgi service; or we do make an ajax call inside post.POST.jsp to the sling servlet?

  2. This article posts data to an OSGi Service operation. WHen you click the submit button, data is sent to a JSP named post.POST.jsp. In that JSP, you can call the OSGi service using code such as:

    com.adobe.cq.HandleForm hf = sling.getService(com.adobe.cq.HandleForm.class);
    hf.injestFormData(First,Last,City, Address);