9

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.

Bhushan
  • 6,151
  • 13
  • 58
  • 91

3 Answers3

7

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

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

Srinivas B
  • 1,821
  • 4
  • 17
  • 35
  • 4
    Tomcat isn't recognizing the parameter unless I add brackets to the end of the name, i.e. ("action[]").. – Alkanshel Dec 09 '15 at 23:53
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.

Community
  • 1
  • 1
zon7
  • 529
  • 3
  • 12
0

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

String[] darray=request.getParameterValues("variable name used with link");
Bo Persson
  • 90,663
  • 31
  • 146
  • 203
Sagar Maiyad
  • 12,655
  • 9
  • 63
  • 99