Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 13-may-2008, 11:54   #1 (permalink)
dedalo81 ha deshabilitado el karma
 
Fecha de Ingreso: abril-2008
Mensajes: 22
Formularios + Base de datos

Hola, tengo una tabla en una base de datos. Mediante el siguiente codigo muestro el contenido de dicha tabla en un navegador web.

out.println("<form action=recibecheck.jsp method=get enctype=multipart/form-data>");
out.println("<table>");
out.println("<table border=\"1\"><tr><td>Id</td><td>Genero</td></tr>");
while (rs.next())
{
out.println("<tr>");
String k = rs.getString("name");
out.println("<td>"+"<input type=checkbox name=prueba value =valor_variab>");
out.println("<td>"+k+"</td>");
out.println("</tr>");
}
out.println("</table>");
conexion.close();
}
else
out.println("fallo");
}
catch (Exception e)
{
out.println("Excepcion "+e);
e.printStackTrace();
}
out.println("
<tr>
<td colspan=2><input type=submit value=enviar name=enviar></td></tr>");
out.println("</table>");
out.println("</form>");


En cada iteracion me pinta una fila de la tabla, a la cual le añado un checkbox.
Lo que me gustaria hacer poder seleccionar una de las filas, quedarme con el contenido de la fila y pasarlo a otro jsp al darle al boton enviar. Lo que quiero pasar lo almaceno en cada iteracion en la variable k. No se como hacer para pasar ese valor al otro jsp, ¿se podria almacenar en el campo value de cada checkbox? ¿se almacenaria correctamente?

Muchas gracias por cualquier ayuda que pueda recibir.

Un saludo
dedalo81 está desconectado   Responder Citando
Antiguo 13-may-2008, 12:10   #2 (permalink)
Lino-kun ha deshabilitado el karma
 
Avatar de Lino-kun
 
Fecha de Ingreso: mayo-2008
Ubicación: Cuernavaca Morelos Mexico
Mensajes: 120
Enviar un mensaje por MSN a Lino-kun
Re: Formularios + Base de datos

A ver como que no se te entiende mucho, a lo que puedo entender es que quieres que cuando le des clic en un checkbox ese valor se guarde y en otro jsp lo obtengas, es mas como son checkbox puedes obtener mas de un valor. pero no se si sea eso lo que quieres si es eso yo puedo ayudarte pero responde si es esto lo que deseas.
Lino-kun está desconectado   Responder Citando
Antiguo 13-may-2008, 12:20   #3 (permalink)
dedalo81 ha deshabilitado el karma
 
Fecha de Ingreso: abril-2008
Mensajes: 22
Re: Formularios + Base de datos

Hola, en primer lugar gracias por tu respuesta.

Intentare ser mas claro.

En la base de datos tengo una tabla que contiene nombres de libros.

En el navegador muestro el contenido de la tabla que tengo en la base de datos. En cada una de las filas tengo un checkbox.

Lo que quiero hacer es que cuando marque el checkbox y le de al boton enviar se mande al archivo que recibe los datos del formulario el nombre del libro cuyo checkbox he marcado.

Espero haberlo explicado mejor,

Muchas gracias y un saludo
dedalo81 está desconectado   Responder Citando
Antiguo 13-may-2008, 12:36   #4 (permalink)
Lino-kun ha deshabilitado el karma
 
Avatar de Lino-kun
 
Fecha de Ingreso: mayo-2008
Ubicación: Cuernavaca Morelos Mexico
Mensajes: 120
Enviar un mensaje por MSN a Lino-kun
Re: Formularios + Base de datos

jeje Esta bien así esta mas claro. te comento un principio algo si usas JSP y Servlets de manera tradicional existe una instrucción llamada requets.setParameter("nombre parametro", parametro);
y otra que se llama request.getParameter("nombre parametro"); la primera establece un parámetro y la segunda lo recupera. en otro contexto cuando no deseas mandar un objeto String puedes usar request.setAttribute("nombre objeto", objeto), y después en otro recupéralo igual por ejemplo List lista=(ArrayList)request.getAttribute("nombre objeto"). Para tu caso solo necesitas las dos primeras o mejor dicho solo la segunda de las dos primeras.

Esta instrucción esta algo mal
<input type=checkbox name=prueba value =valor_variab> por que asi parecen valores constantes y eso no lo necesitas necesitas algo como esto

out.println("<td>"+"<input type=\”checkbox\” name=\”prueba\” value =\””+k+”\”>");

en el otro jsp usa la instruccion request.getParameter("prueba") que es el nombre de tu objeto checkbox lo que hara el compilador es recuperar el valor del checkbox
Lino-kun está desconectado   Responder Citando
Antiguo 13-may-2008, 13:07   #5 (permalink)
dedalo81 ha deshabilitado el karma
 
Fecha de Ingreso: abril-2008
Mensajes: 22
Re: Formularios + Base de datos

Muchisimas gracias, creo que es justo lo que estaba buscando. En el momento en que se quede libre el ordenador que suelo utilizar para esto lo pruebo.

Espero que el proximo mensaje sea para confirmar el exito de tu consejo.

Un saludo!
dedalo81 está desconectado   Responder Citando
Antiguo 13-may-2008, 13:46   #6 (permalink)
Lino-kun ha deshabilitado el karma
 
Avatar de Lino-kun
 
Fecha de Ingreso: mayo-2008
Ubicación: Cuernavaca Morelos Mexico
Mensajes: 120
Enviar un mensaje por MSN a Lino-kun
Re: Formularios + Base de datos

hola de nuevo un ligero cambio no existe el request.setParameter jeje una disculpa, pero usa el request.getParameter como ya lo comentamos.
Lino-kun está desconectado   Responder Citando
Antiguo 14-may-2008, 00:43   #7 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.454
Re: Formularios + Base de datos

Para evitar tener que hacer dos acciones, ¿no seria mas facil hacer que el nombre del libro mismo fuera un enlace y que al darle te llevara a donde quieres pasandole el nombre del libro, o el codigo que suele ser mas norma,l como parametro?

Asi con un click, solucionado para el usuario. SOlo tendrias que hacer un enlace del tipo recibecheck.jsp?libro=nombre_codigo para cada libro.

S!
__________________
TAANSTAFL - Para obtener respuestas inteligentes, lo mejor es empezar por preguntar de forma inteligente.
GreenEyed está desconectado   Responder Citando
Antiguo 14-may-2008, 11:22   #8 (permalink)
dedalo81 ha deshabilitado el karma
 
Fecha de Ingreso: abril-2008
Mensajes: 22
Re: Formularios + Base de datos

Muchas gracias Lino-kun, funciona perfectamente!

Lo que me gustaria llegar a comprender es porque hay que poner esa sintaxis, ahora que se como hacerlo me gustaria comprenderlo.

Muchas gracias y un saludo!
dedalo81 está desconectado   Responder Citando
Antiguo 14-may-2008, 11:54   #9 (permalink)
Lino-kun ha deshabilitado el karma
 
Avatar de Lino-kun
 
Fecha de Ingreso: mayo-2008
Ubicación: Cuernavaca Morelos Mexico
Mensajes: 120
Enviar un mensaje por MSN a Lino-kun
Re: Formularios + Base de datos

Mi estimado francisco que tal la bella España.

Bueno la sintaxis es por que algo que no se puede ver a veces a simple vista es como viaja la información entre páginas, el request es la forma en que se pueden recuperar información entre peticiones. Por ejemplo cuando tu tienes un formulario con varios objetos por ejemplo un text con el nombre de “direccion” al mandar la información a otra página esta puede recuperarla con un
Código PHP:
request.getParameter(“direccion”); 
Por que la página anterior mando ese text como un parámetro. Cuando en un formulario trabajas con objetos estos deben tener un nombre para que con el request puedas recuperar su información ahora la sintaxis

Código PHP:
out.println("<td>"+"<input type=\"checkbox\" name=\"prueba\" value =\""+k+"\">"); 
lo que hace es concatenar una cadena con variables. En este caso tu variable k. este objeto de tipo checkbox tienen el nombre de prueba y lo recuperas desde otra página con
Código PHP:
request.getParameter(“prueba”). 
Saludos desde Mexico

Lino
Lino-kun está desconectado   Responder Citando
Antiguo 14-may-2008, 11:58   #10 (permalink)
dedalo81 ha deshabilitado el karma
 
Fecha de Ingreso: abril-2008
Mensajes: 22
Re: Formularios + Base de datos

De nuevo, gracias.

Para mi, profano en la materia, al principio todo esto es un poco ininteligible, pero poco a poco se superan los obstaculos.

Ya tengo el siguiente a la vista, a ver que tal...

Un saludo
dedalo81 está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 15:22.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93