Author Topic: Refresh de tabla al volver de jsp  (Read 261 times)

alemag

  • Sr. Member
  • ****
  • Posts: 289
  • Karma: 0
    • View Profile
Refresh de tabla al volver de jsp
« on: Octubre 19, 2016, 09:30:50 pm »
Buenas tardes, os comento lo que quiero hacer y no me sale por si me podeis dar una idea.
Tengo una jsp, con unos filtros y un botón Consultar, si pulsa ese botón obtiene una consulta de base de datos y la muestra en una tabla, y en la ultima columna de esa tabla, un enlace de Editar.
Si pulsa este enlace va a otra pantalla donde puede cambiar los datos que se muestran en esa fila/registro, despues de pulsar el botón Grabar. Luego vuelve a la pantalla inicial de los filtros y el botón Consultar, pero no muestra la tabla, y quiero que muestre directamente la tabla que había antes (y con el registro modificado). ¿Alguien me puede dar una idea de cómo poder hacerlo?
Muchas gracias.

chuidiang

  • Administrator
  • Hero Member
  • *****
  • Posts: 5381
  • Karma: 11
    • View Profile
    • Apuntes de programación
Re: Refresh de tabla al volver de jsp
« Reply #1 on: Octubre 21, 2016, 12:54:39 am »
Hola:

Cuando pulsas el botón "Consultar", muestra una tabla. ¿haces una llamada a la misma jsp pero pasando los parámetros del filtro? ¿En qué casos esa jsp no muestra la tabla? ¿cuando no le llegan parametros de filtro?

Se bueno.

alemag

  • Sr. Member
  • ****
  • Posts: 289
  • Karma: 0
    • View Profile
Re: Refresh de tabla al volver de jsp
« Reply #2 on: Octubre 27, 2016, 12:46:38 am »
Cuando pulso el botón Consultar va a la misma jsp, solo que añade debajo de los filtros de búsqueda una tabla con el listado. Este es el codigo en la jsp donde muestra la tabla:
   <display:table name="sessionScope.objectSession.listaFinal"
            align="center"
            id="lista"
            pagesize="20"
            export="false"
            sort="page"
            requestURI="../../../action/miAction" >
            ..."

En ese miAction, para ese método, solo tengo esto:
   protected void consultarExecuteActionLogic(ActionMapping actionmapping,
         ActionForm form, HttpServletRequest request,
         HttpServletResponse response) throws Exception {

      ObjectSession objectSession = (ObjectSession) getObjectSession(request.getSession());
      MiForm miForm = (MiForm) form;

      MiVO miVO = new MiVO ();
      miVO = (MiVO) miForm .populate(miVO );

      List listaFinal = ... obtener la lista
      objectSession.setListaFinal(listaFinal);

   }

y en el listado, en la última columna, hay un botón Editar. Si pulso ahí, va a otra pantalla, donde se pueden modificar los datos pulsando un Bóton Grabar (que está en el mismo Action que el anterior).
Al pulsar el botón Grabar, debería ir a la jsp anterior, mostrando la tabla, pero con los datos actualizados. Los métodos de ese action para el botón Grabar son:

   protected void grabarPreProcess(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

      MiForm miForm = (MiForm) form;

      ObjectSessionPnc objectSession = (ObjectSession) getObjectSession(request.getSession());
      MiVO miVO = objectSession.getMiVO();
      miVO = (MiVO ) miForm.populate(miVO );

      List listaFinal = (List) ... se obtiene la lista
      objectSession.setListaFinal(listaFinal);

   }

y luego el execute:
   protected void grabarExecuteActionLogic(ActionMapping actionmapping,
         ActionForm form, HttpServletRequest request,
         HttpServletResponse response) throws Exception {
      ObjectSession objectSession = (ObjectSession) getObjectSession(request.getSession());
      MiVO miVO = objectSession.getMiVO();
      MiForm miForm= (MiForm ) form;

      miVO = (MiVO ) miForm.populateGrabar(miVO );
         
      getMiDelegate().update(miVO );

}

Hace la actualización del registro bien, pero luego al volver, no muestra la tabla (lo he intentado de varias formas, quitandolo tb del preproccess, pero sin resultado).

Espero haberme explicado.

Muchas gracias.
Un saludo.

 

ey