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

Como hago para que un PrintWriter escriba en la misma pagina que esta el formulario

Estas en el tema de Como hago para que un PrintWriter escriba en la misma pagina que esta el formulario en el foro de Java en Foros del Web. Bueno el asunto es que tengo el siguiente codigo que es llamado por el metodo doPost de mi servlet. El mismo hace una consulta a ...
  #1 (permalink)  
Antiguo 22/02/2016, 19:01
 
Fecha de Ingreso: febrero-2016
Mensajes: 1
Antigüedad: 8 años, 2 meses
Puntos: 0
Como hago para que un PrintWriter escriba en la misma pagina que esta el formulario

Bueno el asunto es que tengo el siguiente codigo que es llamado por el metodo doPost de mi servlet. El mismo hace una consulta a una base de datos, la cual la hago armando primero la cadena de la consulta y luego la hago. Hasta ahi todo bien, funciona todo, pero cuando quiero mostrar los resultados a mi me gustaria que los muestre en una tabla (tal como hace el objeto out de PrintWriter), pero en lugar de que me abra una nueva pagina donde empieza a escribir esta tabla, yo quiero que esa tabla aparezca en la misma pagina, debajo del formulario al que le hice un submit para llamar al servlet. ¿Se puede lograr esto? o si o si mi tabla saldra en la

Código:
public void busquedaYMuestra(HttpServletRequest request,HttpServletResponse response,Connection conn) throws IOException{
        PrintWriter out = response.getWriter();
        PreparedStatement pst;
        ResultSet rs;
        String consulta;
        String ape = request.getParameter("modApellido");
        String doc = request.getParameter("modDocumento");
        String usu = request.getParameter("modUsuario");
        String mai = request.getParameter("modDirmail");
        String leg = request.getParameter("modLegajo");
        consulta = "SELECT Apellido,Nombre,TipoDoc,NumDoc,FechaNac FROM persona "
                + "INNER JOIN alumnos WHERE IdPersona = PERSONA_IdPersona AND ";
        if(!ape.isEmpty()){
            consulta+="Apellido = \""+ape+"\" AND ";
        }
        if(!doc.isEmpty()){
            consulta+="NumDoc = \""+doc+"\" AND ";
        }
        if(!usu.isEmpty()){
            consulta+="Usuario = \""+usu+"\" AND ";
        }
        if(!mai.isEmpty()){
            consulta+="Mail = \""+mai+"\" AND ";
        }
        if(!leg.isEmpty()){
            consulta+="Legajo = \""+leg+"\" AND ";
        }
        consulta=consulta.substring(0, consulta.length()-5);

        request.getSession();
        try{
            pst=conn.prepareStatement(consulta);
            rs=pst.executeQuery();
            if(rs.next()){ //verifica que el resultset tenga algo
                rs.beforeFirst();
                out.print("<h2>Resultados:</h2>");
                out.print("<table border=1 id='tablares'>");
                while(rs.next()){
                    out.println("<tr>");
                    out.print("<td>"+rs.getString(1)+"</td><td>"+rs.getString(2)
                    +"</td><td>"+rs.getString(3)+"</td><td>"+rs.getString(4)
                    +"</td><td>"+rs.getString(5));
                    out.println("</tr>");
                }  
            }
            else{
                out.print("<h4>No hay usuarios con esas caracteristicas</h4>");
            }
        }
        catch(SQLException e){
            System.out.println("SQLException en busquedaYMuestra");
        }
        
    }
  #2 (permalink)  
Antiguo 23/02/2016, 02:18
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Como hago para que un PrintWriter escriba en la misma pagina que esta el f

O pintas toda la página de nuevo o usas ajax

http://www.adictosaltrabajo.com/tutoriales/begin-ajax/
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Etiquetas: formulario, sql, string
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 23:52.