Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/04/2009, 09:58
RAVA
 
Fecha de Ingreso: febrero-2009
Mensajes: 55
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Crear Combobox en JSP que tome valores de MySQL, ayuda!

Cita:
Iniciado por saman0suke Ver Mensaje
...combobox que tome dos atributos de una tabla (id_nacionalidad, nombre) pero que solo almacene uno, es decir quiero visualizar el nombre del pais, pero que se guarde el id de este...
Mencionas que usas JSP pero no mencionas si usas servlets, sí ese fuera el caso:
Antes de desplegar tú jsp:
  • Obtener los datos de la base de datos (id_nacionalidad, nombre)
  • Guardar dicha información en dos arreglos, lists o lo que se te ocurra
  • Mandar dicha información al jsp mediante request.setAttribute

Dentro de tu jsp:
  • Obtener la información enviada por el servlet
  • Iterar los arreglos o lists para generar el código del drop-list
  • Seguir con la lógica de negocio que tienes que implementar

Creo que lo mas importante esta en el jsp:
Código:
<%
String arreglo1=(String) request.getAttribute("id"); //id puede ser modificado (al igual que "arreglo1") por cualquier variable de tú elección
String arreglo2=(String) request.getAttribute("nombre"); //nombre puede ser modificado (al igual que "arreglo2") por cualquier variable de tú elección
String opciones="";
for (int i=0;i<arreglo1.length;i++)
{
opciones="<option value="+arreglo1+">"+arreglo2+"</option>";
//Observar que los ids van en "value" y que los nombres va antes del ">" y después del "</option>"
}
%>
......
<!--Código de tu jsp--!>
<select name="Select1">
<%=opciones%>
</select></form>
<!--Continua tu código o lógica de negocio--!>

Esta es una manera que se me ocurrió, aunque la verdad tengo curiosidad acerca de sí se puede hacer atraves del doGet u otra forma.

Editado:
Esta solución es suponiendo que siempre existira info en la base de datos acerca de los id_nacionalidad y nombre, si se da el caso de que no exista info se tiene que modificar el código para tomar en cuenta nulos.

PD: Para guardar los id_nacionalidad en la base de datos solo se hace en el servlet:
String id_seleccionado=(String) request.getParameter("Select1");

Última edición por RAVA; 29/04/2009 a las 10:03 Razón: Se agrego mas info