Incluir mais um elemento no array

7 respostas
gui_sv

Pessoal,

estou com a seguinte dúvida.

vejam:

capturei minhas checkbox …

String[] replace = request.getParameterValues("replace");

porém alem dessas checkbox, tenho algumas desabilitadas (q nao sao submetidas). ai como solucao o pessoal do fórum disse para utilizar o “hidden” …

o valor do hidden eu capturo aqui…

String dblDistrId = request.getParameter("dblDistrId");

Como eu faço para incluir o ‘dblDistrId’ no array de ‘replace’.

desde já agradeço … pois vcs sempre estão me ajudando…
heheh q bom … este é o propósito de um fórum … ahahah

flwww…

7 Respostas

T

Arrays têm tamanho fixo. O que você pode fazer é criar um novo array com mais um elemento, copiar o array original, e acrescentar o novo elemento. Você pode encapsular isso em um método.

Outra forma mais fácil de trabalhar é o de criar um ArrayList a partir do array, porque é mais fácil de adicionar elementos em um ArrayList.

J

Antes de lhe dar a solução do problema você poderia explicar novamente o que você quer fazer?

Sei que você começou com esse problema em outro tópico mas ainda não entendi o que você quer.

Você quer submeter todos os checkbox inclusive os desabilitados ou só interessa os que estiverem habilitados?

gui_sv

Correto…

é isso mesmo q eu vou fazer…criarei um novo … !!!

vlw thingol !! :smiley:

gui_sv

isso mesmo … todos !!!

rodrigo_gomes

Olá,

caso você queira seguir a segunda dica do thingol, você fazer algo como:

String[] replace = request.getParameterValues("replace");
String dblDistrId = request.getParameter("dblDistrId");

List lista = new ArrayList(Arrays.asList(replace));
		lista.add(dblDistrId );

Como o thingol disse, é a maneira mais facil.

ps: tentei fazer um exemplo assim

List lista = Arrays.asList(replace);

e depois adiconar o elemento e recebi uma UnsupportedOperationException

depois vi aqui
http://www.theserverside.com/discussions/thread.tss?thread_id=38493

que a lista retornada pelo método asList é imultavel.

achei um pouco estranho.

gui_sv

bom …ja obtive muitas respostas…vou utilizar o ArrayList …

galera

vlw mesmo hein !!

J

Por que você, antes de submeter a página, não “varre” todos os checkbox e popula somente um campo hidden com os seus values separados por vírgula, por exemplo?

Daí lá no servlet você faria um campoTela.split(",") que retornaria um array de String.

Pronto, você terá todos os valores da tela independente se estão desabilitados ou não, o que interessa é o valor retornado.

Lembre-se que a propriedade value do campo tipo checkbox representa o valor que será submetido caso o campo esteja CHECKADO, caso ele NÃO ESTEJA checkado será submetido NULL. Agora estando desabilitado nada será submetido.

Exemplificando:

Tela JSP com 5 campos checkboxes (de mesmo nome)

<input type="checkbox" name="seila" value="S_01"> (Checkado)
<input type="checkbox" name="seila" value="S_02"> (Checkado e desabilitado)
<input type="checkbox" name="seila" value="S_03"> (Não checkado)
<input type="checkbox" name="seila" value="S_04"> (Não checkado e desabilitado)
<input type="checkbox" name="seila" value="S_05"> (Não checkado)

No servlet você receberia o seu campo hidden assim:

S_01,S_02,S_03,S_04,S_05
Criado 3 de novembro de 2006
Ultima resposta 3 de nov. de 2006
Respostas 7
Participantes 4