Hola que tal!!!
Quiero cargar un par de combos en un JSP, los datos que quiero que aparezcan en los combo estan es un Collection o List en una clase java, cada elelemnto de la lista o arreglo es un objeto de una clase, dicho objeto tiene 3 atributos: nombre del servidor, nombre de sucursal y un valor para esa sucursal. En un combo quiero que aparezca el nombre del servidor y el segundo combo que aparezcan dependiendo del servidor seleccionado las sucursales que pertenezcan a esa servidor y que por valor en ese segundo combo se carge el valor para esa sucursal. ¿Como puedo hacer refrencia en el JSP a ese Collection o List de la clase java y poder cargar los datos en el combo??
El código del JSP es el siguiente y los combos estan cargados de manera estatica por deirlo asi
<%@page contentType="text/html"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%
response.setHeader("Content-Type", "text/html; charset=iso-8859-1");
response.setHeader("Cache-Control","no-cache"); // HTTP 1.1
response.setHeader("Pragma","no-cache"); // HTTP 1.0
response.setDateHeader ("Expires", -1); // Previene guardar en cache
out.flush();
%>
<html>
<head><title>Panel de Surtido</title>
<LINK rel=stylesheet type="text/css" href="/surtido/script/hojaEstilo.css">
</head>
<body text="000000" bgcolor="FFFFFF" leftmargin="0" topmargin="0"
>
<table width="100%" border="0">
<tr>
<td width="30%" align="right">
<form name="selectsucursal" action="/surtido/iniciaSesionLocal.do" onsubmit="return go(this)" method="POST" target="fmepanel">
<table>
<tr>
<logic:present name="PanelBean" property="lstServ">
<logic:iterate id="servidor" name="PanelBean" property="lstServ" type="com.casasaba.surtido.util.to.ServidorTO">
<%=servidor.getServunix()%>
</logic:iterate>
</logic:present>
</tr>
<tr>
<td class="txt-negrita" width="35%" > Servidor </td>
<td class="txt-negrita" width="65%" > Sucursal </td>
</tr>
<tr>
<td>
<SELECT name="servidor" size="1" onChange="redirect(this.options.selectedIndex)">
<OPTION SELECTED> </OPTION>
<OPTION>aplisis1</OPTION>
<OPTION>aplisis2</OPTION>
<OPTION>aplisis3</OPTION>
<OPTION>aplisis4</OPTION>
</SELECT>
</td>
<td>
<SELECT name="sucursal" size="1">
</SELECT>
</td>
</tr>
<tr>
<td></td>
<td class="txt-negrita" ><input name="Ir" type="submit" id="Ir" value="Ir.." onClick="go()">
</td>
</tr>
</table>
<script>
<!--
var groups=document.selectsucursal.servidor.options.le ngth
var group=new Array(groups)
for (i=0; i<groups; i++)
group[i]=new Array()
group[0][0]=new Option("")
group[1][0]=new Option("")
group[1][1]=new Option("TAMPICO", "48")
group[1][2]=new Option("MONTERREY", "09")
group[1][3]=new Option("CASA", "16")
group[1][4]=new Option("GUADALAJARA", "04")
group[2][0]=new Option("")
group[2][1]=new Option("TIJUANA", "12")
group[2][2]=new Option("REYNOSA", "11")
group[2][3]=new Option("CHIHUAHUA", "03")
group[2][4]=new Option("CULIACAN", "02")
group[3][0]=new Option("")
group[3][1]=new Option("DOC GEN MTY(64)", "64")
group[3][2]=new Option("DOC GEN CENTRO(60)", "60")
group[3][3]=new Option("DOC GEN GUAD(62)", "62")
group[3][4]=new Option("DOC GEN TUXTLA(67)", "67")
group[4][0]=new Option("")
group[4][1]=new Option("DOC GEN JUAR(63)", "63")
group[4][2]=new Option("DOC GEN LEON(68)", "68")
group[4][3]=new Option("DOC GEN TIJU(66)", "66")
group[4][4]=new Option("DOC GEN REYN(65)", "65")
var temp=document.selectsucursal.sucursal
function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<group[x].length;i++){
temp.options[i]=new Option(group[x][i].text,group[x][i].value)
}
temp.options[0].selected=true
}
function go(forma){
if(document.selectsucursal.servidor.selectedIndex == 0){
setTimeout('document.selectsucursal.servidor.focus ()',50);
return false;
}else{
if (document.selectsucursal.sucursal.selectedIndex == 0 || document.selectsucursal.sucursal == null) {
setTimeout('document.selectsucursal.sucursal.focus ()',50);
return false;
}
}
}
//-->
</script>
</form>
</td>
</tr>
</table>
<table width="100%" class="borde-tabla">
<tr>
<td><iframe name="fmepanel" width="800px" height="600px" align="center" frameborder="0" scrolling="no" marginwidth="0" marginheight="0"></iframe></td>
</tr>
</table>
</body>
</html>
Espero me puedan ayudar
De antemano Gracias