Forum JSP

3 respostas
M

Boa tarde gente.

Fiz um arquivo JSP que irá receber os dados de um formulário, criei um array com o nome das variaveis, fiz um for para “varrer” o array, e na hora de apresentar na tela gostaria que aparecesse da seguinte maneira:

“Nome: Nome do fulano.”

Fiz algo do tipo

vetor[x]+": “+vetor[x]+”.
"

vetor[x] teria a variável “nome”, gostaria de aparecesse escrito nome, mas sempre apresenta o valor da variavel, ou seja, aparece algo do tipo “Nome do Fulano: Nome do fulano.”. Tentei utilizar alguns “métodos” em vetor[x], mas não obtive êxito em nenhum, logo gostaria de saber se existe alguma maneira de pegar o nome de texto ao invés do valor que vem no array.

Obrigado.

3 Respostas

F

Vê se o q vc quer é isso:

Substitua:

vetor[x]+": "+vetor[x]+".<br />"

por

"Nome: "+vetor[x]+".<br />"
M

Talvez tenha me expressado mal, mas o valor que vem dentro de vetor[x] também muda, algo mais ou menos assim:

for(…)
vetor {nome, idade, sexo};

Sendo que cada uma dessas posições guarda o respectivo valor, a minha intenção era fazer com que a cada laço fosse mudado o “cabeçalho” e o valor, ou seja,

1º for -> Nome: NomedoFulano.
2º for -> Idade: IdadedoFulano.
3º for -> Sexo: SexodoFulano.

Basicamente a minha intenção era imprimir o “cabeçalho” do array, mas sempre aparece o nome da variável (NomedoFulano: NomedoFulano. ao invés de Nome: NomedoFulano)

F

Hum, neste caso, depende do contexto. Há várias formas de se fazer isto.
Dependendo do caso, você pode querer exibir os atributos de um bean e neste caso, usar reflexão para inferir quais são os atributos a serem exibidos. Enfim…
Sem conhecer o contexto geral, talvez uma HashTable seja a melhor opção para você.

import java.util.Hashtable;

public class Teste {
	public static void main(String[] args) {
		Hashtable&lt;String, Object&gt; pessoas[] = new Hashtable[2];

		pessoas[0] = new Hashtable&lt;String, Object&gt;();
		pessoas[0].put("Nome", "Nome Qualquer");
		pessoas[0].put("Idade", 125);// heheh
		pessoas[0].put("Sexo", 'M');

		pessoas[1] = new Hashtable&lt;String, Object&gt;();
		pessoas[1].put("Nome", "Uma moça");
		pessoas[1].put("Idade", 18);
		pessoas[1].put("Sexo", 'F');

		StringBuffer saida;
		final String SEPARADOR = ": ";
		for (Hashtable&lt;String, Object&gt; pessoa : pessoas) {
			for (String chave : pessoa.keySet()) {
				System.out.print(chave);
				System.out.print(SEPARADOR);
				System.out.println(pessoa.get(chave));
			}
		}
	}
}

Asolução acima está muito pouco OO (nada). Tome cuidado ao utilizar este tipo de coisa.

Criado 7 de maio de 2010
Ultima resposta 7 de mai. de 2010
Respostas 3
Participantes 2