Servlet - Transformar parametros Strings em Arrays

3 respostas
C

Olá,

Estou começando agora a entender e a trabalhar com Servlets e tenho um problema que acredito que não seja muito trabalhoso. Tenho uma servlet que pega alguns parametros de uma URL específica. Dentre eles, eu tenho um parâmetro que deveria ser o tripo String[], entretanto, quando passos seus atributos na URL, eu os coloco como strings separados por “|”, por exemplo:

http://URI/Teste?nome=“joao|maria|jose|antonio”

Gostaria de saber como tranformo esta string (nome) em um array de nomes na minha Servlet.

nome[0] = joao
nome[1] = maria …

Não sei também se existe uma forma direta de passar um Array diretamente pela URL da servlet. Qualquer infomação seria de grande valia.

Desde já, agradeço !!!

3 Respostas

E
String parametro = "joao|maria|jose|antonio";
String[] nomes = parametro.split ("[|]");
A

e para passar um array direto pela url:

url?nome=claudio&nome=marcelo&nome=paulo

daí você pode ler com:

String[] nomes = request.getParameterValues("nome")

para escrever esse arrary num formulário html basta escrever vários inputs com o mesmo “name”…

uma dica: evite passar valores concatenados com | por exemplo…
um dia algum usuário vai colocar um | em um nome e seu sistema vai fazer coisas estranhas e você não vai entender o motivo…

C

Obrigado pelas informações.

Utilizei o split e o “;” como delimitador ao invés de “|”.

if (nomeStr!= null){
				String[] nome = nomeStr.split(";");	
}

Muito Obrigado!

Abraço

Criado 27 de setembro de 2010
Ultima resposta 27 de set. de 2010
Respostas 3
Participantes 3