Colocar dados na mesma pagina

3 respostas
L

Boas pessoal,

tenho uma pagina JSP bem simples que tem um form com um campo de texto e um botao submit, eis o code :

<body>
        <center><h2>Consultar Cliente</h2>
        
        <form name="formsaldo" action="dasaldo">
        <center><font size="2"> Conta</font> <input type="text" name="conta" value="" size="20" /><br>        
        <input type="submit" value="Ver Saldo" name="vsaldo" />
            
</form>
        
    </body>

Como voces podem ver eu tenho uma acção que se chama “dasaldo” que é o nome que esta mapeado no xml de um servlet com o nome dasaldo.java eis o codigo do servlet :

import java.io.*;
import java.net.*;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.*;
import javax.servlet.http.*;

/**
 *
 * @author luis
 */
public class dasaldo extends HttpServlet {
   
   
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        
      String sql_query1 = "select campo1 from tabela where campo2 = ?  ";     
       
        
        try {
                 
    Class.forName("com.ibm.as400.access.AS400JDBCDriver");
    Connection connection = DriverManager.getConnection("jdbc:as400:IP_Address/LIB; ,"Admin", "Admin");
            PreparedStatement prepared_statement = connection.prepareStatement(sql_query1); 
            prepared_statement.setString(1, request.getParameter("conta")); // Apanha o parametro digitado para completar a consulta
            ResultSet rs = prepared_statement.executeQuery();
            
            while(rs.next() ){
                 
                
              System.out.println(rs.getString(1));
                 
             }      
            
         
          connection.close(); 
          
          
        }catch(Exception ex){
            
            ex.printStackTrace();
                       
        }
     
        }
  

   
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    } 

   
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
   
    public String getServletInfo() {
        return "Short description";
    }
    
}

Tudo funciona bem , quando eu coloco o nome do cliente e pressiono submit ele me imprime no system.out.println se o valor existir no banco de dados

O meu problema é que eu quero colocar este resultado que vem do banco de dados nesta mesma pagina e nao imprimi-lo no System.ou.println.

Ou seja quero que ao pressionar o botao submite ele me ponha todos os dados retornados na mesma pagina.

Obrigado desde ja !

3 Respostas

S

PrintWriter pw = response.getWriter(); pw.println("<HTML>"); pw.println("<TITLE>SALDO</TITLE>"); pw.println("<BODY>"); while(rs.next()){ for(int i = 0 ; i < rs.getMetaData().getColumnCount() ; i++) { try{ pw.println(rs.getString(i)); } catch(Exception e1){ try{ pw.println(rs.getInt(i)); } catch(Exception e2){ .... //as coisas por aqui podem ficar bem dinamicas. } } } pw.println("</BODY>"); pw.println("</HTML>"); pw.flush();

S

editado…
mensagem enviada mais de uma vez

S

editado.

Criado 3 de janeiro de 2008
Ultima resposta 9 de jan. de 2008
Respostas 3
Participantes 2