Foros del Web » Programación para mayores de 30 ;) » Java »

Cargar un combo en un JSP con un Collection o List de una clase java

Estas en el tema de Cargar un combo en un JSP con un Collection o List de una clase java en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 26/05/2008, 16:27
 
Fecha de Ingreso: mayo-2008
Mensajes: 3
Antigüedad: 16 años
Puntos: 0
Cargar un combo en un JSP con un Collection o List de una clase java

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
  #2 (permalink)  
Antiguo 27/05/2008, 08:31
Avatar de Lino-kun  
Fecha de Ingreso: mayo-2008
Ubicación: Cuernavaca Morelos Mexico
Mensajes: 126
Antigüedad: 16 años
Puntos: 2
Respuesta: Cargar un combo en un JSP con un Collection o List de una clase java

si ya tienes las colecciones prueba con esto.

Código PHP:
 <logic:present name="listaMensajes">
               <
html:select name="ClaseForm" property="mensaje" styleClass="textBox">
                 <
html:options collection="listaMensajes" property="idMensaje" labelProperty="descripcion" />
               </
html:select>
             </
logic:present
con eso llenas un select a partir de una coleccion o ArrayList, ojo cada objeto dentro del ArrayList o Collection debe ser compuesto por una clase con metodos get y set de lo contrario marcara un error de no getter methods
  #3 (permalink)  
Antiguo 28/05/2008, 10:33
 
Fecha de Ingreso: mayo-2008
Mensajes: 3
Antigüedad: 16 años
Puntos: 0
Respuesta: Cargar un combo en un JSP con un Collection o List de una clase java

Gracias ya logre llenar los combos

Saludos!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:24.