RSS Feed Subscribe to RSS Feed

 

Handsontable ‘Spreadsheet’ talking to SpringMVC

Handsontable is an Excel-like data grid utilizing JQuery. For example, it provides the ability to copy and paste directly to & from Excel. Handsontable itself if very easy to setup. The part I struggled with was passing the data to SpringMVC. So, this post shows how to send data from a Handsontable data grid on the client to a SpringMVC server.

The code for the example is posted here on GitHub and has also been deployed here on CloudBees.

For this example, the server simply returns the data back to the client where it is displayed in a results section of the same JSP. The data is posted as JSON via a JQuery AJAX call.

The code follows the example posted in the accepted answer in this Stackoverflow question.

In addition to the usual SpringMVC setup, the key parts are:

  • Adding a maven pom dependency on Jackson, to handle the Json to Java conversion (automatically detected by SpringMVC)
  • Use the SpringMVC @ResponseBody and @RequestBody web binding annotations in your controller methods to ensure that Spring converts the Json to and from your java objects
  • Making sure the JQuery Ajax call includes the correct headers and data type, as in:
    
    jQuery.ajax({
        type: "POST",
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json'
            },
        'dataType': 'json',
        ...
    });
    

Again, the full code of the working example is posted here on GitHub and deployed here on CloudBees. I use continuous deployment by using a Jenkins instance, also on Cloudbees.

Tags: , , , , , , ,

Leave a Reply