duda parametros JSP

354 views
Skip to first unread message

Cristian Ayala

unread,
Jan 20, 2011, 8:00:06 AM1/20/11
to jav...@googlegroups.com
tengo una inquietud acerca de un tema de JSP

tengo un jsp que recibe una cantidad de parámetros desconocida, por ej:

String param1 = request.getParameter("param1")
;
String param2 = request.getParameter("param2");
String param3 = request.getParameter("param3");
.....
y así siguiendo

quisiera saber como se resuelve esto, como se haría para recorrer los parámetros y llenar un array por ejemplo,

saludos y gracias

Martín Vega

unread,
Jan 20, 2011, 8:30:33 AM1/20/11
to jav...@googlegroups.com
No se entiende lo de cantidad desconocida?
En el formulario cuantos campos completas?

--
www.JavaSOS.com
Grupo de colaboración Java/J2ee para desarrolladores de habla hispana.

Christian Guarrera

unread,
Jan 20, 2011, 8:36:27 AM1/20/11
to jav...@googlegroups.com

El 20 de enero de 2011 10:30, Martín Vega <eduma...@gmail.com> escribió:
No se entiende lo de cantidad desconocida?
En el formulario cuantos campos completas?


el formulario es dinamico, puede haber 1 o n campos,

JULIAN CORONADO

unread,
Jan 20, 2011, 8:43:31 AM1/20/11
to jav...@googlegroups.com
1. si el formulario es dinamico pues ponga otro campo oculto que sea el numero de capos a recuperar y listo!!!!

List<Object> lista = new ArrayList<Object>(0);
int campos = ((Integer)request.getParameter("param1")).intValue();

for(int i = 1; i<=campos; i++)
{
  String param1 = request.getParameter("param"+i)
  lista.add(param1);
}

2. si lo que quiere es algo mas elaborado puede usar request.getParameterNames() y recorrer esa coleccion y tomar los parametros que le interesen.


Diego Sulkes

unread,
Jan 20, 2011, 8:44:09 AM1/20/11
to jav...@googlegroups.com
Hola, si lo que querés es pasar como parámetro un lista de elementos y en el jsp recorrerlos y hacer algo con cada objeto de la lista, fijate acá tenés una breve explicación con código.
http://d-lix.blogspot.com/2010/01/java-introduccion-jstl-jsp-standard-tag.html
Tenés muchas formas de hacer lo que querés, dependiendo de los frameworks que estés usando.
Por ej. si usas struts tenés los <logic:iterate> etc (se me pianta un lagrimón....)
Especificá un poco cual es tu contexto
Saludos


--- El jue 20-ene-11, Martín Vega <eduma...@gmail.com> escribió:

Christian Guarrera

unread,
Jan 20, 2011, 8:47:26 AM1/20/11
to jav...@googlegroups.com
El 20 de enero de 2011 10:43, JULIAN CORONADO <julian.coron...@gmail.com> escribió:
1. si el formulario es dinamico pues ponga otro campo oculto que sea el numero de capos a recuperar y listo!!!!

List<Object> lista = new ArrayList<Object>(0);
int campos = ((Integer)request.getParameter("param1")).intValue();

for(int i = 1; i<=campos; i++)
{
  String param1 = request.getParameter("param"+i)
  lista.add(param1);
}


yo tengo el mismo problema de la cantidad dinamica,
voy a aplicar esto gracias!


Mario Aliaga

unread,
Jan 20, 2011, 8:31:24 AM1/20/11
to jav...@googlegroups.com
Hola Cristian,

       Una solución que se me ocurre a primera vista es igualar con un "identificador reconocible" y despues descriminar con un if ese valor y no incluirlo en la inserción del Array. Como?

String param1 = request.getParameter("param1") !=null ? (String)request.getAttribute("param1") : "nulo"; (o lo que quieras poner en vez de "nulo")
String param2 = request.getParameter("param2") !=null ? (String)request.getAttribute("param2") : "nulo";
String param3 = request.getParameter("param3") !=null ? (String)request.getAttribute("param3") : "nulo";
.....

//Despues tu ciclo para guardar .... con el if que pregunte si el String param... el "nulo" (o lo que pongas) para no guardarlo.



                            Mario Aliaga


El 20 de enero de 2011 10:00, Cristian Ayala <56558...@gmail.com> escribió:
--

JuAnDrEs

unread,
Jan 21, 2011, 1:03:10 PM1/21/11
to JavaSOS
Cristian,

Por lo que entiendo de tu pedido, lo que querés es obtener el valor de
un conjunto de parámetros que te llegan y de los cuales no conoces el
nombre. Si es así, podrías probar con el método getParameterNames()
del objeto request

String parametro = null;
String valor = null;
for(Enumeration e = request.getParameterNames();
e.hasMoreElements(); ) {
parametro = (String) e.nextElement();
out.println(parametro + "<br/>");
// y si quisieras conocer el valor que
envía en cada parámetro:
valor =
request.getParameter(parametro);
}

Espero te sirva.

Saludos
Reply all
Reply to author
Forward
0 new messages