Existe variavel dinâmica no jsp?

8 respostas
jason_bourne

Pessoal,

Preciso pegar valores de variaveis dinâmicas do tipo:

<input type="checkbox" name="v-1" value='1'>
<input type="checkbox" name="a-1" value='1'>
<input type="checkbox" name="i-1" value='1'>
<input type="checkbox" name="d-1" value='1'>

<input type="checkbox" name="v-2" value='1'>
<input type="checkbox" name="a-2" value='1'>
<input type="checkbox" name="i-2" value='1'>
<input type="checkbox" name="d-2" value='1'>

<input type="checkbox" name="v-3" value='1'>
<input type="checkbox" name="a-3" value='1'>
<input type="checkbox" name="i-3" value='1'>
<input type="checkbox" name="d-3" value='1'>
.
.

Existe alguma maneira de pega-las através do servlet? eu geralmente pego as variaveis enviadas no form através de um servlet do tipo:

import java.util.HashMap;
import java.util.Map;
import java.util.Date;
import java.util.Calendar;
import java.text.*;
import java.sql.*;
import java.lang.String;
import java.text.SimpleDateFormat;

public class Form{
    
    private String nome = "";
    private String email= "";
    
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email.trim();
    }    
    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome = nome;
    }
.
.
.

Por isso não sei como poderia pegar variáveis dinâmicas. Pensei em fazer um loop do tipo:

int total=1;
while(total <5){
.
.
.
.
total++;
}

Mas sei que isso não funcionaria.

Alguém pode me ajudar? :idea:

8 Respostas

foia

serve:

http://www.guj.com.br/posts/list/24151.java

fôia

jason_bourne

Não seria bem isso pq o q eu preciso é de um modo de pegar por servlet variaveis enviadas pelo form do tipo:

v-1,v-2,v-3…etc

foia

pensanu bem,

dá pra fazer o loop sim. e se vc souber qual o número de loops fica mais fácil. observe o código abaixo:

List vArray = new ArrayList();
    for (Enumeration enu = request.getParameterNames(); enu.hasMoreElements();)
    {
        String key = enu.nextElement().toString();

        if (key.indexOf("v-") == -1)
        {
            vArray.add(request.getParameter(key));                    
        }
    }

fôia

danieldestro

Você está usando algum framework MVC? Ou faz isso na mão mesmo?

request.getParameterNames();

jason_bourne

To fazendo isso a mão mesmo e usando um servlet pra receber os dados do formulario.

jason_bourne

foia:
pensanu bem,

dá pra fazer o loop sim. e se vc souber qual o número de loops fica mais fácil. observe o código abaixo:

List vArray = new ArrayList();
    for (Enumeration enu = request.getParameterNames(); enu.hasMoreElements();)
    {
        String key = enu.nextElement().toString();

        if (key.indexOf("v-") == -1)
        {
            vArray.add(request.getParameter(key));                    
        }
    }

fôia

Eu tentei colocar isso dentro do servlet, e apareceu nessa linha

for (Enumeration enu = request.getParameterNames(); enu.hasMoreElements();){

–> Illegal start of type

danieldestro

import java.util.Enumeration;

jason_bourne

Mesmo erro :frowning:

Criado 14 de junho de 2005
Ultima resposta 14 de jun. de 2005
Respostas 8
Participantes 3