Ich habe frühere Fragen zu diesem Thema über SO gesucht, aber mein Problem ist noch nicht gelöst.
Ich übergebe das Array von Javascript an 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");
Bei Verwendung des obigen Codes erhalte ich eine Nachricht "Aktion ist null".
Und wenn ich es versuche
String actions[] = request.getParameterNames("action[]");
Ich erhalte den Syntaxfehler:
The method getParameterNames() in the type ServletRequest is not applicable for the arguments (String)
Bitte lassen Sie mich wissen, wenn im Code etwas nicht stimmt.
Antworten:
6 für die Antwort № 1Sie können das Array einfach mit dem Namen des Arrays abrufen ...
String actions [] = request.getParameterValues ("action");
1 für die Antwort № 2
Sie können ein Java - Array nicht als Parameter übergeben, da es eine Struktur ist. Der beste Weg ist, es in ein String - Objekt wie ein jSon zu serialisieren. Sie können es verwenden JSON.Stringify. Einfach und effizient. Da Sie auch im Server serialisieren können, ist dies sehr nützlich.
0 für die Antwort № 3
Übergeben Sie die Array-Variable Javascript mit der Formularaktion, um Werte an das Servlet zu senden, und verwenden Sie dann
String[] darray=request.getParameterValues("variable name used with link");