• Viernes 8 de Noviembre de 2024, 23:23

Autor Tema:  Actualizar una jsp al apretar un botón que llama a un servle  (Leído 11539 veces)

SebastianGonzalez

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Actualizar una jsp al apretar un botón que llama a un servle
« en: Viernes 8 de Enero de 2010, 06:58 »
0
Hola a todos!
Tengo una jsp donde tengo que mostrar un resultado que se calcula en un servlet. En la jsp la idea es apretar un botón que vaya al servlet, haga lo que tenga que hacer pero que la página se actualice para que muestre el resultado obtenido...
Tengo el siguiente código en el body:

       <form action = "calcular" >
              Resultado:
              <jsp:useBean id = "calculoBean" scope = "session" class = "MiClase.Operaciones" /> </td>
               <jsp:getProperty name = "calculoBean" property = "numeroFinal" />
       </form>

Alguien puede decirme cómo hago para que se recargue la página luego de apretar ese botón y me muestre el resultado que devuelve el servlet?

Gracias desde ya!
Un saludo,
Sebastián

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: Actualizar una jsp al apretar un botón que llama a un servle
« Respuesta #1 en: Viernes 8 de Enero de 2010, 17:00 »
0
Bueno tienes 3 formas para hacerlo.
1- Usar un botón submit que esté dentro de una forma y en el action le pones que te direccione al servlet
2- crear una función javascript y ponerla en el evento onclick que direccione al servlet.
3- y si lo que quieres es realizar una función especifica en la misma pantalla pero no requiere cargar toda la página, podrías implementar ajax, puedes investigar sobre Fajax()

opción 2
Código: Text
  1. function redireccionar()
  2. {
  3.    document.form1.action="NombreDelServlet"
  4.    document.form1.submit();
  5. }
  6.  
  7. <input type="submit" id="btnguardar" name="btnguardar" onclick="javascript:redireccionar();">
  8.  

opción 3

Código: Text
  1. function redireccionarAjax(){
  2.  
  3.         FAjax('NombreDelServlet','nombredeldiv','parametro='+document.getElementById('campo'),'POST');
  4. }
  5.  
  6. <input type="submit" id="btnguardar" name="btnguardar" onclick="javascript:redireccionarAjax();">
  7.  

Bueno espero te sirva
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

SebastianGonzalez

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Actualizar una jsp al apretar un botón que llama a un servle
« Respuesta #2 en: Viernes 8 de Enero de 2010, 20:55 »
0
Hola, gracias por responder :)
Tengo ahora lo siguiente:


<form action = "ServletCalcular" method = "post">
     <input type="submit" value="Calcular Resultado" />
      Resultado:
      <jsp:useBean id = "calculoBean" scope = "session" class = "MiClase.Operaciones" /> </td>
      <jsp:getProperty name = "calculoBean" property = "numeroFinal" />
</form>

Yo quiero que al apretar el botón  "Calcular Resultado" se llame al servlet pero que no se siga redibujando la página, que vaya al servlet y cuando lo termine vuelva al lugar donde se quedó la página jsp y ahí continúe, de ese modo se recargue la página para mostrar el resultado que se obtuvo del servlet cuando hago el getProperty.
Así como está ahora, apreto el botón y se me queda la página en blanco, pero hice un debug y veo que primero se dibuja toda la página jsp y asi no va al servlet :(
No puedo utilizar javascript ni otras tecnologías como la que mencionaste :(
Gracias nuevamente!

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: Actualizar una jsp al apretar un botón que llama a un servle
« Respuesta #3 en: Viernes 8 de Enero de 2010, 21:16 »
0
bueno puedes usar la opción 1 ó la opción 2 que te comenté, entonces desde servlet cuando terminas lo que quieres hacer lo que haces es que vuelves a redireccionar la página utilizando el argumento de tipo HttpServletResponse que se encuentra en el método dopost

Código: Java
  1.    res.sendRedirect("pagina.jsp");
  2.    return;
  3.  

con esto llevas quedas nuevamente en la página que estabas.

P.D si la página se queda en blanco totalmente si ningún informe de error, quiere decir que si está llegando al servlet pero como no hay nada en el servlet que le diga a donde ir después que termina de hacer lo que tiene que hacer, es entonces donde te muestra la página en blanco. Y si al llamar el servlet te sale una página que dice que no se encontra la página quiere decir que el nombre que estás poniendo en el action no está igual al alias que tiene el servlet al momento de crearse en el web.xml
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

SebastianGonzalez

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Actualizar una jsp al apretar un botón que llama a un servle
« Respuesta #4 en: Sábado 9 de Enero de 2010, 06:55 »
0
Muchas gracias, he podido solucionar el problema con un RequestDispatcher :)
Saludos :)
Sebastián