Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   lista que se descoloca (http://www.forosdelweb.com/f45/lista-que-descoloca-560014/)

cris_maco 24/02/2008 11:49

lista que se descoloca
 
Tengo un problema y no se como solucionarlo. Resulta que en una pagina tengo unos cuantos atributos que los recupero en el getter en una lista. En la pagina jsp los llamo con indices,(por ejemplo num[0], num[1], ...) y luego en el getter los recupero, pero lo que me pasa es que al getter me llegan descolocados.
probe a intentar insertarlos en la lista a traves del indice tambien(lista.add(indice, dato)) pero claro como a veces me llegaba antes el indice 2 que el 0 me daba una excepcion.
Alguien sabe como podria solucionarlo?o si se puede haer de otra manera lo que intento?

gracias por todo

GreenEyed 24/02/2008 13:38

Re: lista que se descoloca
 
Segun la implementacion de List que uses, el orden de recuperacion de los objetos no esta garantizado.

S!

cris_maco 25/02/2008 03:36

Re: lista que se descoloca
 
uso arrayList para eso, entonces que hago para que se coloquen? auqnue sea alguna solucion cutre, porque sino me voy a ver obligada a ir haciendolo uno por uno y dejar las listas

GreenEyed 25/02/2008 04:26

Re: lista que se descoloca
 
Ummm, lo que no acabo de ver es como los mandas y como los llamas. ¿Puedes poner el codigo en ambos casos para ver si se nos ocurre algo?

S!

cris_maco 25/02/2008 09:34

Re: lista que se descoloca
 
es algo asi:

<input type="text" name="precio[0]" />
<input type="text" name="precio[1]" />

y luego en el form de struts
List listado = new ArrayList();

public void setPrecio(int iIndex, String precio){
this.listado.add(precio);
}

public List getPrecio(){
return this.listado();
}

es que no tengo el codigo delante, pero....

la cuestion es que yo lo intento con 4 inputs y se me descoloca y lo que te decia del indice(vble index) no lo puedo usar

GreenEyed 25/02/2008 12:20

Re: lista que se descoloca
 
Así como lo has puesto, si los parametros tienen nombre diferente, HTTP, y supongo que por extension Struts, los considera parametros diferentes. Asi que ponerle los corchetes y el indice hace que sean parametros diferentes.

Por otro lado, HTTP/HTML envia los parametros en orden y un ArrayList mantiene el orden de los parametros, asi que deberian estar en el orden que los has metido.

De todas formas como no uso Struts, quiza Struts haga algun tratamiento de los parametros que te los desordene pero ahi no te puedo decir.

S!

cris_maco 06/03/2008 05:19

Re: lista que se descoloca
 
he solucionado el problema, ya se que es una ñapa, pero de momento funciona:
el setter quedaria:

public void setTheFile(int iIndex, FormFile File) {
this.files.remove(iIndex);
this.files.add(iIndex,File);
}

y en el metodo reset del form:

public void reset(ActionMapping mapping, HttpServletRequest request) {
this.files.add(0,null);
this.files.add(1,null);
this.files.add(2,null);
this.files.add(3,null);
}
a esta funcion se la llama antes de cargar las variables del form con los datos por lo que relleno la lista que necesito con nulos y luego en el setter les doy el valor que corresponda.

Por si a alguien le interesa.


La zona horaria es GMT -6. Ahora son las 01:26.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.