Procurei perguntas anteriores sobre este tópico no SO, mas meu problema ainda não foi resolvido.
Estou passando a matriz de javascript para servlet.
Código 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]);
}
}
Código Servlet:
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");
Usando o código acima estou recebendo a mensagem "Ação é nula".
E se eu tentar
String actions[] = request.getParameterNames("action[]");
Estou recebendo um erro de sintaxe:
The method getParameterNames() in the type ServletRequest is not applicable for the arguments (String)
Informe-me se houver algo errado no código.
Respostas:
6 para resposta № 1você pode simplesmente obter a matriz com o nome da matriz ...
Ações de string [] = request.getParameterValues ("ação");
1 para resposta № 2
Você não pode passar um array java como parâmetro, pois é uma estrutura. A melhor maneira é serializá-lo em um objeto de string como um jSon. Você pode usar JSON.stringify. Simples e eficiente. Como você também pode serializar no servidor, é muito útil.
0 para resposta № 3
Passe a variável de matriz Javascript com ação de formulário para enviar valores ao servlet e, em seguida, use
String[] darray=request.getParameterValues("variable name used with link");