Passing javascript array to servlet

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.

Answers:

Answer

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

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

Answer

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.

Answer

Pass Javascript array variable with form action to send values to servlet, and then use

String[] darray=request.getParameterValues("variable name used with link");

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.