9

我已经在 SO 上查看了有关此主题的先前问题,但我的问题尚未解决。

我将数组从 javascript 传递给 servlet。

JavaScript 代码:

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]);
    }
}

小服务程序代码:

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");

使用上面的代码,我收到消息"Action is null"

如果我尝试

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

我收到语法错误:

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

如果代码有问题,请告诉我。

4

3 回答 3

7

您可以简单地使用数组名称获取数组...

字符串操作[] = request.getParameterValues("action");

于 2012-12-31T08:56:00.830 回答
2

您不能将 java 数组作为参数传递,因为它是一个结构。最好的方法是将其序列化为一个字符串对象,如 json。您可以使用JSON.stringify。简单高效。因为您也可以在服务器中进行序列化,所以它非常有用。

于 2012-12-31T08:58:14.123 回答
0

使用表单操作传递 Javascript 数组变量以将值发送到 servlet,然后使用

String[] darray=request.getParameterValues("variable name used with link");
于 2013-01-01T13:13:11.397 回答