Recibir parametros en una JSP

27/Dic/2006 Java , , 41 Comentarios

Una página JSP nos permite combinar la tecnología de las páginas web con la tecnología de las páginas de servidor.

Es por ello que en una página JSP siempre veremos dos partes bien diferenciadas. El código relativo a la tecnología cliente: HTML, XHTML, SVG,... y lo que denominaremos scriptlet. Estos scriptlet no deja de ser código Java que se ejecutará en el lado del servidor para añadirse al código cliente ya existente.

Es decir, el navegador que ejecute nuestra JSP solo verá una página web (sea la tecnología que sea). Dicha página web se habrá compuesto en el servidor mediante código Java y código cliente.

Una de las primera cosas que querremos hacer será pasarle información a esta página. Lo primero que conocer son las formas de pasar información a una página web (vía POST y vía GET). Las diferencias, a grandes rasgos, son que las peticiones vía GET encadenan los valores a pasar a la página web en la URL, mientras que si hacemos una petición vía POST se pasará la información de forma implícita.

En el primer caso veremos URL del tipo...

ObtenerParametros.jsp?dato1=pagina&dato2=lineadecodigo

Lógicamente nuestro cometido será el recuperar la información que llega como parámetro para utilizarla dentro de nuestra página web.

Dentro del contexto de la página JSP tenemos disponible la variable request. Dicha variable viene a representar la petición que es recibida en la página. Y consecuentemente los parámetros y valores que la llegan.

Si queremos recuperar el valor de los parámetros, simplemente deberemos de utilizar el método .getParameter(String parametro). Donde indicaremos el nombre del parámetro a recuperar.

Así, en la anterior petición podremos recuperar los valores de los parámetros dato1 y dato2 mediante la siguiente linea de codigo:

  1. String datoUno = request.getParameter("dato1");
  2. String datoDos = request.getParameter("dato2");

Ahora solo nos quedará el utilizar los valores de los datos recibidos como parámetro donde y como queramos. Por ejemplo para, simplemente, mostrarlos por pantalla.

  1. out.println(datoUno);
  2. out.println(datoDos);

En este caso hemos utilizado la variable out, que viene a representar la respuesta hacia el cliente y en concreto el método .println(variable) que vuelca información sobre la página.

Vídeos sobre JSP


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

41 comentarios en “Recibir parametros en una JSP”

Víctor Cuervo

Pablo

ok, yo requiero hacer esto en jsp pero no le cacho algunas cosas entonces, como puedo pasar esto ??
php—-
session_start();
include(“utils/connect.php”);
$seccion = “busqueda.php”;

if(!empty($_GET[‘cuerpo’])){
$tmp = $_GET[‘cuerpo’];
if($tmp == “empresa” || $tmp == “oferta”)
$seccion = $_GET[‘cuerpo’]. “.php”;
else
$seccion = “busqueda.php”;
}

include(“template.php”);

—?—php
Gracias.

Víctor Cuervo

Pablo

ok, yo requiero hacer esto en jsp pero no le cacho algunas cosas entonces, como puedo pasar esto ??

Gracias.

Víctor Cuervo

MARTYN92

Gracias buen post ya llevaba varios dias buscando esto y nadamas no lo encontraba. GRACIAS

Víctor Cuervo

Daniel Andres

Es posible agregar valores al request con código jsp (NO HTML) antes de enviarlo?
Es decir, así como se le puede agregar valores al HttpSession con sesion.setAttribute(“Name”,”Value”); hacer algo como request.setAttribute(“Name”,”Value”) y hacer la petición mediante el input de tipo submit en html (sin utilizar request.getRequestDispatcher)

Víctor Cuervo

carlos

una consulta lo que ocurre es que estoy haciendo una pagina web con código jsp y necesito imprimir diferente información al validar al dar click en un boton, los datos los tengo almacenados en un vector el problema es que la variable que debe incrementar se me reinicia cada vez que le doy click a ese botón como podría enviar esa varable para que no se me reinicie. asi yo lo envió
<input type="hidden" name="nc" value="”>
se que asi lo envie como strig
y asi lo convierto
String nce=request.getParameter(“nc”);
nc=Integer.parseInt(nce.trim());
nce=””+nce;

Víctor Cuervo

mario

hola que tal

Víctor Cuervo

Libra

intenta subiendo sitio a la unidad C: de tu servidor. En teoría debería funcionar perfecto!Suerte mi hermano!!

Víctor Cuervo

julio

hola tengo un problema estoy realizando mis paginas jsp
y si las ejecuto localmente no tengo problema ,el problema lo tengo
cuando las subo al servidor y las ejecuto no me aparecen los valores
ni siquiera un out.print(“julio”); agradeceria me ayudaran

Víctor Cuervo

Pedro

Hola amigos,
Necesito saber como puedo pasar un programa realizado en java bajo netbeans a JSP.
Como lo puedo hacer???

Cualquier sugerencia o recomendación será bienvenida
sr.pedro.dominguez@gmail.com
graciassssssss

Víctor Cuervo

lineadecodigo

@Luis,

De momento no tenemos un artículo que verse sobre eso. Pero me pongo manos a la obra. Espero que podamos tenerlo pronto publicado en la web.

Víctor Cuervo

Luis

Estimado:

Muy bueno el articulo!

Llegué a este sitio por medio de google mientras buscaba como enviar los valores de varios campos en un jsp a otro jsp.

Estoy trabajando con tablas dinamicas, agregando modificando y eliminando filas.

La idea es luego enviar esos valores agregados a la tabla a otra jsp para ser procesados y finalmente guardarlos en una db sql server.

Tendrias algun ejemplo sobre como enviar los valores de una tabla dinamica hacia otra jsp?

Desde ya muy agredecido por tu respuesta.

Saludos

Luis

Víctor Cuervo

lineadecodigo

@oscar,

Para recibir parámetros con el mismo nombre tienes la solución en Enviar un array a una JSP.

Víctor Cuervo

lineadecodigo

@Libra,

Sería con el siguiente código HTML en el combo:

<select onChange=”document.getElementById(‘seleccionado’).value=this.value;”>

Asumo que el ID de tu caja de texto es “seleccionado”. Si se llama de otra forma, ya sabes… 😉

Espero que te sirva.

Víctor Cuervo

Libra

Gracias a quien a contestado. No es justamente lo que esperaba pero me sirvió para confirmar ciertas dudas.Lo que realmente deseo saber es como pasar el dato de un combo(por ejemplo) a un textbox en la misma página.
En vb sería fácil: TextBoxx.Text=ComboBox.text en el evento change del combo. Pero, y en jsp??

Víctor Cuervo

lineadecodigo

@David Bernad,

Cualquier ayuda o duda ya sabes dónde estamos. 🙂

Víctor Cuervo

David Bernad

hola lineadecodigo,

quizá lo que comentas del enlace pueda funcionar, lo que pasa es que descarté esta vía y pasé a hacerlo de otra forma.

De todas maneras, cuando pueda probaré lo que propones y si funciona te cuento.

¡Muchas gracias!

Víctor Cuervo

lineadecodigo

@David Bernad,

Si pasas el parámetro así…

<a href=”?f=2″>enlace</a>

Asume como página la misma que contiene el enlace.
Te ayuda algo esto???

Víctor Cuervo

lineadecodigo

@Er,

Lo que recuperas con .getParameter() son cadenas de caracteres, las cuales puedes pasar a enteros con…

String cadena = “Texto”;
int miEntero = Integer.valueOf(cadena);

Muy parecido al PHP… 🙂

Espero que te sea de ayuda.

Víctor Cuervo

lineadecodigo

@yaat,

Cuando generes el input en el Servlet/JSP utiliza ese valor como dato del value de los input HTML.

Víctor Cuervo

lineadecodigo

@Eddy,

Para pasar un parámetro de una página a otra puedes hacerlo enlazando siempre desde las páginas HTML.

O puedes dejar la información en la sesión y acceder a dicha información durante toda la sesión del usuario.

Algo así…

HttpSession session = request.getSession(true);
session.putValue(“datosesion”,”valor”);

Víctor Cuervo

lineadecodigo

@Alberto,

Para enviar la información como POST se tiene que utilizar un formulario.

<form action=”ObtenerParametros.jsp” method=”post”>
<input type=”text” name=”dato1″ value=”pagina” />
<input type=”text” name=”dato2″ value=”lineadecodigo” />
</form>

Víctor Cuervo

Martín

Funciona de maravilla! MUCHAS GRACIAS!!!!

Víctor Cuervo

oscar

Como podria solucionar esto ?

Recibir parametros con el mismo nombre

y en la otra pagina recibirlos:

String[] parametros = request.getParameter(“valor”);

y luego recorrer la lista de valores..

Como seria la manera correcta ?

Gracias de antemano.

Víctor Cuervo

David Bernad

Por si no me he explicado bien.
Tengo un iframe a cuya página contenida le paso un parámetro en el atributo source: src=”loquesea.htm?miparametro”, bueno, concretamente lo que estoy haciendo es lo siguiente:

src=”?f”

Porque quiero que dentro del iframe se cargue la misma página que tengo yo ahora. Al cargarse el contenido del iframe yo estoy haciendo que busque el parámetro:

if(request.getParameter(“f”) != null){
//Aquí va el resto del código
return;
}

Pero no me lo está encontrando, no me encuentra ningún parámetro.

¿Podría ayudarme alguien?

Muchísimas gracias.

Víctor Cuervo

David Bernad

Victor Pereira dijo:
“String nombre=””;
if (request.getParameter(”nombre”)!=null)
nombre=request.getParameter(”nombre”);”

Si necesito que me tome un parámetro establecido en un iframe, por ejemplo src=”?f”, se supone que haciendo lo que comentas lo encontrará cuando esté cargando el contenido del iframe, pero esto no ocurre.

¿Alguna idea?

Víctor Cuervo

manuel

otra consulta

como mando y recibo un array?

Víctor Cuervo

Er.

Buenas,
Una consulta.
Como hago en JSP el quivalente en PHP de:
$_REQUEST[‘param’] = (int) $_REQUEST[‘param’];

Gracias y saludos!

Víctor Cuervo

Herlan

hola soy Herlan:
Me gustaria que alquien me ayude con un problemita que tengo lo que pasa es que estoy haciendo un buscador de palabras asi como en Google, bueno todo funciona bien lo unico que no puedo hacer es que cada ves que yo introdusca una palabra y encuentre mas de 10 iguales a esa palabra los vaya cargando en diferentes paginas..osea mi problema esta en generar paginas de acuerdo a la cantidad de palabras que encuetre, si son 30 palabras solo tiene que aver 10 Hyperlik en esa pagina todo es igual a Google.

Esto tiene que ser utilizando Visual Web Pack de NetBeans 6.0

solo quiero un ejemplito que cargue una lista de Page y luego que adicione los HyperLink a cada pagina , osea asuman que estan haciendo un buscador de palabras y que tienen que funcionar asi como Google que con un Boton Next pueda pasar a otra pagina, pero esto tiene que ser en codigo Java no HTML. por que asi lo estoy aciendo osea que no estoy escribiendo nada de codigo HTML por que asi es mejor

Si es que alguien me puede ayudar se los agradecere muchisimo..les dejo mi correo barin_2@hotmail.com

Víctor Cuervo

j

String nombre= request.getParameter(”nombre”)!=null ? request.getParameter(”nombre”) : “”;

Víctor Cuervo

yaat

hola, yo quisiera saber como obtener ese valor que apso por url pero omo meterlo dentor de una cajade texto de html, gracias

Víctor Cuervo

Eddy

como paso el mismo parametro de una pagina a otra y de esa a otra

Víctor Cuervo

Eddy

como paso el mismo parametro de una pagina a otra y de esa a otra

Víctor Cuervo

Libra

hola,desde hace dìas estoy buscando ayuda sobre como enviar un mail a mi correo de hotmail desde mi web creada en netbeans 5.0 jsp,y nadie a podido darme la soluciòn.¿Se puede hacer esto?
Lo que deseo es lo siguiente:
Cuando cliqueo sobre un boton, envia datos a mi base de datos y deseo que al mismo tiempo de hacer esto me mande un mensaje directo a mi correo diciendome que insertè nuevos datos.
Si pueden ayudarme les dejo mi correo: l.san.n@hotmail.com
gracias y hasta pronto!!!
saludos!!!

Víctor Cuervo

Galois

Yo toy aprendiendo Java con JDeveloper, lo hice de esta manera:
————————————–
La Pagina donde se Valida en Usuario:

DataUsuario=”Datos del Usuario”
request.setAttribute(“usuario”,DataUsuario);
return mapping.findForward(“success”);
————————————–
La pagina que es Invocado:

Usuario Logeado :

Víctor Cuervo

fastop

Para hacer un AUTOLLAMADO al mas puro estilo de PHP en JSP

if(((String)request.getMethod()).compareTo(“POST”)==0)
{
//Aqui procesamos la forma
}

Víctor Cuervo

william

amigos alludenme tengo un problema con una pagina jsp lo que quiero aser es una autollamada algo parecido a lo q se ase en php
if(!$_POST){…..}
como ago eso en jsp?

Víctor Cuervo

Victor Pereira

Una página (grabarla como lapagina.jsp) que usa el método post y se llama así misma para validar valores podría ser:

>
 

Nombre:

” size=”34″ maxlength=”100″> *
1)
if (nombre==” || nombre.equals(“”))
out.print(” No puede ser vacío”);
%>

 

Víctor Cuervo

Victor Pereira

String nombre=””;
if (request.getParameter(“nombre”)!=null)
nombre=request.getParameter(“nombre”);

Víctor Cuervo

Pablo

Y como hago el equivalente de php:
if ( isset($_GET[‘valor’]) == true )
en jsp???
Gracias.

Víctor Cuervo

Alberto

Si, pero…. ¿como hacer el envío mediante el método POST?

Víctor Cuervo

Manuel

La Informacion esta buena, concisa y consistente.. Justo lo que se necesita para no perder el tiempo en la Red.

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*