Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/03/2015, 08:17
Avatar de oshho
oshho
 
Fecha de Ingreso: marzo-2015
Mensajes: 40
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Combos dependientes en JSP

Cita:
Iniciado por Xerelo Ver Mensaje
Si has visto tutoriales donde usan javascript (AJAX o JQuery) es porque debes hacerlo así.

Una jsp genera un html en el servidor y se le pasa al navegador, así que el hecho de que tú elijas un valor en el primer combo desde el navegador, al servidor no le importa, ni siquiera se entera.

La alternativa es que al escoger un valor en el primer combo hagas un submit del formulario al servidor, pero esto es una forma muy mala de resolverlo ya que implica recargar la página al completo, por eso se usa javascript, porque javascript se ejecuta en el navegador y permite modificar o pedir al servidor sólo una parte de la página.

Vuelve a intentarlo con esos tutoriales, es la mejor solución.
Muchas gracias por la respuesta, bueno viendo un tutorial terminé haciendo esto.
(La función se ejecuta por medio del evento "onchange" que añadí en el cmbApplicationName

Código Javascript:
Ver original
  1. <head>
  2.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  3.         <!--Funcion javascript para la carga del combobox/drop-down list de transacciones -->
  4.         <script type="text/javascript" src="js/jquery-1.11.2.min.js" ></script>
  5.         <script type="text/javascript">
  6.             function cargarCTN(){
  7.                 $.post("sel_tran.jsp",$("#frmEliminar").serialize(),
  8.                 function(frm_del){$("#cmbTransactionName").html(frm_del);});
  9.             }
  10.         </script>
  11.        
  12.        
  13.        
  14.         <title>Eliminar Métricas</title>
  15.     </head>

Por lo que tuve que crear el siguiente JSP llamado (sel_tran.jsp)
Código Javascript:
Ver original
  1. <%@page import="dto.Transaction"%>
  2. <%@page import="dao.TransactionDao"%>
  3.  
  4. <% int appID = Integer.parseInt(request.getParameter("cmbApplicationName")); %>
  5.  
  6. <select name="cmbTransactionName">
  7.     <option value="">--Seleccione--</option>
  8.     <%for(Transaction trans: new dao.TransactionDao().listarTransacciones(appID)) {%>
  9.     <option value="<%= trans.getIdTransaction() %>"><%= trans.getNameTransaction() %></option>
  10.     <% } %>
  11. </select>

En el tutorial que ví le fue perfecto, pero el creaba las querys dentro del mismo JSP, y bueno esto pierde la estructura que estoy usando es por ello que intente cargar el combo de la misma manera de como cargué el anterior, pero aún no se a que se debe que no me funcione :(