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.
Author by
Bhushan
Updated on January 02, 2020Comments
-
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 over 8 yearsTomcat isn't recognizing the parameter unless I add brackets to the end of the name, i.e. ("action[]")..