combos anidados

claudia
25 de Febrero del 2006
Tengo un combo de departamento y segun el que elijan se debe llenar el combo de municipios.

La aplicación la estoy haciendo en jsp

Mucha gracias

Ken
25 de Febrero del 2006
Enhorabuena... Gracias por informarnos...

¿?¿?¿?¿?

Ken

frantic
25 de Febrero del 2006
Oye aquí no pones que es lo que necesitas hacer, yo supongo que será que tienes una tabla en base de datos que contiene esos municipios la cual a su vez esta relacionada con una tabla llamada departamento.
Si esto es así, divago porque no dejas mucha información con la que se pueda saber que es lo que realmente deseas hacer, podrías utilizar por ejemplo un bean que realice el query a la base de datos, es deciy un query que busque dentro de la tabla donde tienes los municipios aquellos que esten relacionados con el departamento elegido en el combo anterior, ese query te devolveria un objeto ResultSet.
Con ese ResultSet podrias rellenar un vector que contenga los String de dichos municipios.
Ya en el jsp lo que tendrías que hacer es importar dicho bean y utilizar un scriplet por ejemplo para rellenar el combo, o bien utilizar tags personalizados lo cual es más elegante pero un poco más complejo.
Si eliges hacerlo a través de un scriplet te dejo un segmento de código para que tengas idea de como hacerlo en el jsp:

Supón que tu Bean se llama MunicipioHelper

<SELECT NAME="combo">
<%
//Realizamos el query a la base de datos
MunicipioHelper mh = new MunicipioHelper();
Vector vector = mh.buscarMunicipio("nombreDepartamento");

if(vector != null){
String municipio;

//Iteramos dentro del vector para obtener uno a uno los centros directivos
for(int i = 0; i < vector.size(); i++){
municipio = (String) vector.get(i);
//Se escribira un <OPTION>MUNICIPIO para cada valor incluido dentro del vector
%>

<OPTION><%= municipio %>
<% }
} else{%>
<OPTION>NO HAY MUNICIPIOS QUE MOSTRAR
<% }%>
</SELECT>

Recuerda lo que mencione, no es aquí donde realizas el query el query lo realizaría la funcion:
public Vector buscarMunicipio(String departamento)
La cual debes colocar y codificar dentro del Bean que estas importando aquí (en el ejemplo lo llame MunicipioHelper), ese String es el departamento con el cual harás query con el departamento que recibiste de el combo departamento anterior (ya lo debes haber recibido por el request y lo tendras aquí disponible).

Espero que sea de ayuda.
Saludos.-

Abel
25 de Febrero del 2006
me podrian indicar porfavor como cargo mi bean MunicipioHelper dentro del jsp porq me marca el siguiente error:
/UpdateFormatoRH.jsp(5): class \\'AdsaFor.bMunicipioHelper\\' could not be loaded
probably occurred due to an error in /UpdateFormatoRH.jsp line 5:
<jsp:useBean id=\"mun\" class = \"AdsaFor.bMunicipioHelper\" scope=\"session\"/>

marypaz
25 de Febrero del 2006
Lo que dicen nuestros amigos es muy cierto lo que pasa es que como sabes que departamento te seleccionaron si no es recargando la página, si eso no es problema para ti perfecto. Entonces te dire que para cargar el beans que debes haber puesto dentro de la carpeta classes del WEB_INF de tu sitio solo escribes dentro de la página:
NombreBeans miBeans = new NombreBeans();
ahora si lo empaquetaste tenfras que antepiner al nombre del beans, el nombre del paquete y listo, solo llamas tu metodo que asumo devuelve un ResultSet asi:
ResultSet rs = miBeans.metodoQueDevuelveMunicipios();
y ya. Espero te sirva...