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

Cargar info dinámicamente en el jsp

Estas en el tema de Cargar info dinámicamente en el jsp en el foro de Java en Foros del Web. Hola, soy nuevo en el foro y con jsp. Hasta ahora más o menos me he defendido con libros y tutoriales pero ya he llegado ...
  #1 (permalink)  
Antiguo 02/03/2011, 15:01
 
Fecha de Ingreso: marzo-2011
Mensajes: 9
Antigüedad: 13 años, 8 meses
Puntos: 0
Pregunta Cargar info dinámicamente en el jsp

Hola,

soy nuevo en el foro y con jsp. Hasta ahora más o menos me he defendido con libros y tutoriales pero ya he llegado a un punto que necesito algo de ayuda y la verdad que este foro estaba bastante bien y me metí. Mi duda es la siguiente:

Tengo una página jsp donde cargo en una lista desplegable ciertos campos de mi base de datos. A partir de ahí quiero que en función de la opción escogida por el usuario se me rellenen ciertos campos de texto. El código de mi select es el siguiente:

<%
ArrayList<Caso> al = new ArrayList();
String [] elem = new String[0];
Pesquisa p = new PesquisaCasos();
al = p.executa(elem);
%>
<select id="textoTitulo" OnChange="cargar()">
<option></option>
<% for(int i = 0; i < al.size(); i++){ %>
<option> <%=al.get(i).getTitulo() %> </option>
<% } %>
</select>

y la función cargar de javascript es:

function cargar(){
var a = document.form1.textoTitulo.selectedIndex;
<%
ArrayList<Caso> casos = new ArrayList();
Pesquisa p1 = new PesquisaCasos();
casos = p1.executa(new String[0]);
%>
document.form1.textoDescricao.value = '<%=casos.get(0).getDescricao() %>';
document.form1.textoPerfil1.value = '<%=casos.get(0).getPerfil1().getNome() %>';
document.form1.textoPerfil2.value = '<%=casos.get(0).getPerfil2().getNome() %>';
}

Este código funciona perfectamente y sin problemas, pero el problema es que estoy cogiendo el primer elemento del Array, cuando debería coger el de la variable a que defino al principio de la función. Sé que el problema es que javascript se ejecuta en el lado del cliente, por lo que no puedo recoger esa variable y supongo que la forma de hacerlo sería enviar la variable a al servlet y devolver desde el servlet con un atributo, pero no sé hacerlo...

Espero que puedan ayudarme.

Muchas gracias por adelantado!!
  #2 (permalink)  
Antiguo 02/03/2011, 15:18
 
Fecha de Ingreso: marzo-2011
Mensajes: 9
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Cargar info dinámicamente en el jsp

Supongo que lo que también me valdría sería llamar al servlet apropiado desde la función javascript y devolver en varios atributos la información que necesito para cada campo (que supongo que ayudaría también a favorecer el MVC), pero de momento sólo se llamar al servlet desde un botón dentro de un form y no he visto como hacerlo desde el javascript...
  #3 (permalink)  
Antiguo 02/03/2011, 16:01
Avatar de sivadmp  
Fecha de Ingreso: febrero-2011
Ubicación: La Paz - Bolivia
Mensajes: 293
Antigüedad: 13 años, 9 meses
Puntos: 20
Respuesta: Cargar info dinámicamente en el jsp

hola

el problema se soluciona mediante JavaScript, es decir desde una funcion hecha en JavaScript llamas al servlet, donde este te va a llenar los datos de la lista

te puedo ayudar si quieres, mandame un correo o por skype sino

saludos
  #4 (permalink)  
Antiguo 03/03/2011, 09:34
 
Fecha de Ingreso: febrero-2011
Ubicación: España
Mensajes: 51
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: Cargar info dinámicamente en el jsp

A mí es que JavaScript me da repelús. Yo lo que hago es cargar todo como atributos de la sesión, para coger cosas dinámicamente, puede que no sea muy elegante pero funciona.

Un saludo.
  #5 (permalink)  
Antiguo 17/03/2011, 15:06
 
Fecha de Ingreso: marzo-2011
Mensajes: 9
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Cargar info dinámicamente en el jsp

Conseguido, el problema que tengo ahora es que si modifico escribiendo en alguno de los campos que se carga automáticamente, después si cambio de opción dicho campo no vuelve a cambiar de valor. Supongo que la función load de AJAX que uso para cargar el campo no vale una vez el campo ha sido modificado.....

Etiquetas: info, jsp, jsp-servlets, carga
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 04:41.