Recuperar Array enviado pelo POST [RESOLVIDO]

3 respostas
fabiojpoli

Boa tarde pessoal, estou tentando recuperar na JSP o seguinte valor enviado:

Parâmetros
id[]	12
id[]	17
id[]	18

Fonte
id%5B%5D=12&id%5B%5D=17&id%5B%5D=18
Tentei desta maneira como diz em um tópico do fórum:
String[] valores =  request.getParameterValues("id");

Mas o retorno é nulo. Obrigado!

3 Respostas

fabiojpoli

Faltou os colchetes.

Obrigado!

visola

Você pode descobrir os nomes de todos os parâmetros passados usando o getParameterNames:

Enumeration names = request.getParameterNames();
while (names.hasMoreElements()) {
   System.out.println(names.nextElement());
}

Teoricamente, o código que você postou está correto. Ele deveria retornar todos os valores associados à chave “id[]”. Mas eu já vi algumas vezes problemas de parâmetros enviados por navegadores com nomes específicos. Coisas que só de mudar o nome do parâmetro já resolvia. Tenta usar “ids” sem o colchetes ou qualquer outra coisa.

fabiojpoli

visola:
Você pode descobrir os nomes de todos os parâmetros passados usando o getParameterNames:

Enumeration names = request.getParameterNames();
while (names.hasMoreElements()) {
   System.out.println(names.nextElement());
}

Teoricamente, o código que você postou está correto. Ele deveria retornar todos os valores associados à chave “id[]”. Mas eu já vi algumas vezes problemas de parâmetros enviados por navegadores com nomes específicos. Coisas que só de mudar o nome do parâmetro já resolvia. Tenta usar “ids” sem o colchetes ou qualquer outra coisa.

Bom saber sobre esse while. Muito util…

Ótima sugestão, vou evitar usar colchetes como vc disse.

Obrigado!

Criado 10 de fevereiro de 2011
Ultima resposta 11 de fev. de 2011
Respostas 3
Participantes 2