JSP (Java Server Page) - Un experto en jsp y servlet (Ayúdenme)

 
Vista:

Un experto en jsp y servlet (Ayúdenme)

Publicado por Cristina (1 intervención) el 15/07/2005 01:41:13
Poseo un problema, tengo una lista que se llena a partir de otra lista en una página JSP, cuando la paso con valores estáticos, no hay problema pues el servlet me recibe los datos sin problemas. El problema es cuando en la lista uno hay datos tomados de la base de datos, efectivamente llena la lista y pasa los valores a la otra lista pero cuando le doy enviar al servlet, los datos se desaparecen. haciendo un seguimiento encuentro que la longitud de la lista en el servlet es igual a la de la lista dos que es de donde mando los datos. Yo se que esto está difícil de entender y para eso les hago llegar el código que he hecho en parte:

//script javascript

function Pasar() {
if (document.evento.elemSelec.selectedIndex < 0) {
document.evento.elemSelec.selectedIndex == 0;
}
indice = document.evento.elemTec.selectedIndex;
document.evento.elemSelec.options[document.evento.elemSelec.length] = new Option(document.evento.elemTec.options[indice].text,document.evento.elemTec.options[indice].value,false,false);
document.evento.elemTec.options[indice]=null;
}

function validar() {
var i=0;
while(document.evento.elemSelec.options[i] != null){
document.evento.elemSelec.options[i++].selected = true;
}
evento.submit();
}

/*******************************************************************************************/
//Esta es la porción de código que tiene los selects y captura la informacion de la BD

<table width="579" height="53" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC">
<tr>
<td width="180" align="left" valign="middle" nowrap><div align="right">
<font size="2" face="Microsoft Sans Serif">
<select name="elemTec" size="8" id="select6">
<% ResultSet rsCTEC;
rsCTEC = (ResultSet)session.getAttribute("RESULT_CTEC");
while(rsCTEC.next())
{ %>
<option> <%=rsCTEC.getString("ctec_nombre") %> </option>
<%} %>
</select>
<br>
</font></div></td>
<td width="30" align="center" valign="middle" nowrap> <p> <font size="2" face="Microsoft Sans Serif">
<input name="btnPasar" type="button" id="btnPasar4" onClick="return Pasar()" value=">">
</font></p>
<p> <font size="2" face="Microsoft Sans Serif">
<input name="btnQuitar" type="button" id="btnQuitar4" onClick="return Quitar()" value="<">
</font></p></td>
<td width="150" align="left" valign="middle" nowrap> <font size="2" face="Microsoft Sans Serif">
<select name="elemSelec" size="8" multiple id="select8" style="width: 250px;">
</select>
</font></td>
</tr>
</table>
<input name="btnEnviar" type="button" id="btnEnviar" value="Enviar" onClick="return validar()">
/************************************************************************************************/
Obviamente el codigo anterior está dentro de un formulario, en este caso se llama "evento"
/*************************************************************************************************/

Ahora la porción de código que captura el select en el Servlet:

String ctecId = "";
String[] elemTec;
elemTec = (String[])request.getParameterValues("elemSelec");
for (int i =0; i < elemTec.length; i++){
System.out.println( "lista[" + i + "]=" + elemTec[i]);
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder