Passing javascript array to servlet

31,041

Solution 1

you can just simply get the array with the name of the array...

String actions[] = request.getParameterValues("action");

Solution 2

You can't pass a java array as a parameter, as it is an structure. The best way is to serialize it into an string object like a jSon. You can use JSON.stringify. Simple and efficient. As you can serialize in the server also, it's very useful.

Share:
31,041
Bhushan
Author by

Bhushan

Updated on January 02, 2020

Comments

  • Bhushan
    Bhushan over 4 years

    I have looked previous questions on this topic on SO, but my problem is not solved yet.

    I am passing the array from javascript to servlet.

    JavaScript Code:

    var action = new Array();
    function getProtAcionValues(rowNo,columnCount)
    {
        for(var j=0;j<columnCount;j++)
        {
            action[j] =  document.getElementById('textActions'+rowNo+''+j).value;
            alert(action[j]);
        }
    }
    

    Servlet Code:

    String actions[] = request.getParameterValues("action[]");
    if(actions!=null)
    for(int i=0;i<actions.length;i++)
    {
        System.out.print(" Action: "+actions);
    }
    else
        System.out.println("Action is null");
    

    Using above code I am getting message "Action is null".

    And if I try

    String actions[] = request.getParameterNames("action[]");
    

    I am getting Syntax error:

    The method getParameterNames() in the type ServletRequest is not applicable for the arguments (String)
    

    Please let me know if there is something wrong in code.

  • Alkanshel
    Alkanshel over 8 years
    Tomcat isn't recognizing the parameter unless I add brackets to the end of the name, i.e. ("action[]")..