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

Recargar el contenido de un div con struts 2

Estas en el tema de Recargar el contenido de un div con struts 2 en el foro de Java en Foros del Web. Bueno, estoy usando struts2 y mas o menos ya me manejo bien, ahora estoy empezando con javascript y tengo una duda que es la siguiente: ...
  #1 (permalink)  
Antiguo 26/06/2013, 10:56
 
Fecha de Ingreso: abril-2013
Mensajes: 36
Antigüedad: 11 años
Puntos: 0
Recargar el contenido de un div con struts 2

Bueno, estoy usando struts2 y mas o menos ya me manejo bien, ahora estoy empezando con javascript y tengo una duda que es la siguiente:

Como puedo en struts2 llamar a un action y que me genere un jsp (basicamente como hacia antes de manera normal) pero que en lugar de recargar toda la pagina solo me muestre el jsp resultante en un div? es decir que tendria que poner en el struts.xml y demas ademas de la funcion javascript? si alguien me puede pasar un ejemplo me ayudaría muchisimo, gracias y un saludo
  #2 (permalink)  
Antiguo 27/06/2013, 03:01
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Recargar el contenido de un div con struts 2

Si el action al que llamas desde el script devuelve código html sólo tienes que sustituir el html del div por el que devuelve la función.

Con jQuery seria tan fácil como

$('#idDiv').html(result); // donde result seria el resultado de la llamada ajax.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 27/06/2013, 05:56
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Recargar el contenido de un div con struts 2

En Struts.xml solo tienes que mapear el .action hacia el JSP de manera normal, aquí no afecta el div ni el ajax.

Saludos
  #4 (permalink)  
Antiguo 27/06/2013, 09:10
 
Fecha de Ingreso: abril-2013
Mensajes: 36
Antigüedad: 11 años
Puntos: 0
Respuesta: Recargar el contenido de un div con struts 2

Vale, muchas gracias a los dos consegui solucionarlo de la siguiente forma:

Código:
<s:url var="urlAsisPresu" action="AsistentePresupuesto" />
<sj:a id="AsisPresuLink" href="%{urlAsisPresu}" targets="contenido">Gestionar Presupuesto</sj:a>
y obviamente el div:

Código:
<div id="contenido">
                  <h1>Hola</h1>
</div>
La pagina se carga dentro del div y todo correcto pero ahora tengo otra duda y es la siguiente:

En el div me carga la pagina GenerarPresupuesto.jsp donde tengo un formulario con varios <s:textfield> y <s:select> que a su vez recojo en otro action y genero un PDF, el problema es que cuando cargaba este codigo de manera normal con redireccion de paginas todo iba perfecto, pero ahora que cargo las paginas en el div no se como hacer para que el action me tome los datos de los textfield que estan en los formularios que voy cargando en el div contenido puesto que me da excepcion java null pointer, alguien me podria explicar como hacerlo? gracias

EDIT: he conseguido pasar los datos del formulario siguiendo este ejemplo:

https://code.google.com/p/struts2-jquery/wiki/SubmitTag

El problema es que lo que quiero es que se actualice el div ademas de enviar los resultados a un action y muestre el jsp resultante pero no soy capaz de hacerlo

Última edición por agusnovak; 27/06/2013 a las 14:01
  #5 (permalink)  
Antiguo 01/08/2013, 23:36
Avatar de fpalomar  
Fecha de Ingreso: noviembre-2003
Mensajes: 123
Antigüedad: 20 años, 5 meses
Puntos: 3
Respuesta: Recargar el contenido de un div con struts 2

Hola,

Yo soy novato com bien sabe ElAthlit. Pero eso que te pasa lo he solucionado utilizando el complemento de struts2 Tiles.

Te lo comento a ver si es lo que necesitas; lo que quieres es que si la action de struts da como resultado un input que se vuelva a cargar como estaba y donde estaba para entrar los datos correctamente.

Si es eso te puedo hechar un cable, aunque no me explique bien, me falta dominar el tema.

Saludos.

Etiquetas: contenido, jsp, struts, struts2
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 13:46.