Montar nova página JSP a cada 10 elementos presentes na linha da tabela

10 respostas
A

Boa tarde,
Minha dúvida é como faço para que ao retornar por exemplo 60 imagens em uma tabela apareça 10 na primeira pagina JSP, e que seja criado o menu de navegação para as proximas paginas?
Muito obrigado pela ajuda…

Anderson

10 Respostas

A

Estou utilizando o servlet para criar a pagina…

drsmachado

Pesquisa sobre paginação

leoramos

Então, cara… você precisa criar a paginação.
Tem alguns componentes que podem te ajudar com isso… mas posta aí o que tens até agora, pra gente saber que tipo de componente tu tá usando.
Aí fica mais fácil te ajudar.
Abraço!

A

Tem alguma referencia para paginação em JSP???

A
No meu servlet, monto a pagina e utilizo o for para a tabela................
try {
    			
    			response.setContentType("text/html");
        		PrintWriter out = response.getWriter();
        		Usuario usuario = (Usuario)request.getAttribute("user"); 
        		out.print("<html>");
        		out.print("<head><title>Consulta Usuario</title></head>");
        		out.print("<body>");
        		
        		out.print("<h1>Dados Cadastrados</h1>");
        		int cont=0;
        		for(int i=0;i<nomes.size();i++){
        		cont = cont+1;	
        		out.print("<table border=0>");
        		out.print("<tr>");
				out.print("<td>Figura : </td><td>"+ "<img src=" + recuperaImagemDiretorio(nome,"/EscolaGlobalCodeUpload/logo/"+ nomes.get(i))+ " alt=\"Angry face\" WIDTH=102 HEIGHT=135 />"+    "</td>");
				out.print("</tr>");
				out.print("<tr>");
	    		out.print("<td>IdUsuario : </td><td>"+ a.getId() + "</td>");
	    		out.print("</tr>");
				out.print("<tr>");
	    		out.print("<td>IdImovelImagem : </td><td>"+ cont + "</td>");
	    		out.print("</tr>");
	    		out.print("<tr>");
	    		out.print("<td>Nome : </td><td>" + a.getNome() + "</td>");
	    		out.print("</tr>");
	    		out.print("<tr>");
	    		out.print("<td>E-mail : </td><td>" + a.getEmail() + "</td>");
	    		out.println("</tr>");
	    		out.println("<tr>");
	    		out.println("<td>Telefone : </td><td>" + a.getTelefone() + "</td>");
	    		out.println("</tr>");
	    		out.println("<tr>");
	    		out.println("<td>Endereço : </td><td>" + a.getEndereco() + "</td>");
	    		out.println("</tr>");
	    		
	    	
	    		out.println("<tr>");
	    		out.println("<br><td>Local do Arquivo : </td><td>" + arrCaminho.get(i)  + "</td>");
	    		out.println("</tr>");
	    		
	    		
	    		out.println("</table>");
        		}
	    		out.println("</body>");
	    		out.println("</html>");
	    		out.close();
    			
			} catch (ClassNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
    		
//remover nomes.clear qd quiser trazer tudo que esta na base.        	   
nomes.clear();

}
drsmachado

Tem aqui e no http://www.google.com.br

leoramos

Tem sim:
http://lmgtfy.com/?q=pagina%C3%A7%C3%A3o+jsp

A

Valeu leoramos… vou pesquisar…

A

Onde devo implementar a paginação???
Segue meu codigo.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Academia </title>
</head>
<body>
	<form name="formConsultaUsuario" method="post" action="BuscaImagens">
	<h2>Digite o idImovel que deseja consultar</h2>
	<p>IdImovel : <input type="text" name="textNome"></p>
	<p><input type="submit" value="Consultar"></p>
	</form>
</body>
</html>
package br.com.globalcode.servlets;

import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


import javax.servlet.*;
import javax.servlet.http.*;

import br.com.globalcode.util.Imagens;
import br.com.globalcode.util.Usuario;

public class BuscaImagens extends HttpServlet {
	
	public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException{
	doAction(request, response);
	}
		
	public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException{
		doAction(request, response);	
	}
		
	
	
	public void doAction(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException{
		
		
		
		String nome = request.getParameter("textNome");
		Connection con = null;         
	    try   
        {  
        	Class.forName("com.mysql.jdbc.Driver");  
            con = DriverManager.getConnection("jdbc:mysql://localhost/brasilcloud","root","XX");  
            Statement stm = con.createStatement();    
            
            
            ResultSet rs = stm.executeQuery("select count(*)  from imovel_imagens WHERE idImovel = '" +nome+ "'");  
            rs.next();  
            int count = rs.getInt(1); 
              
            Imagens[] usuarios = new Imagens[count];
            
            
            String SQL = ("SELECT id_ImovelImagem, idImovel, imagem from imovel_imagens WHERE idImovel = '" +nome+ "' ");
            rs = stm.executeQuery(SQL);  
                                    
            int count2=0;
            while(rs.next())  
            {  
            	String idImovelImagem = rs.getString("id_ImovelImagem");
            	String idImovel = rs.getString("idImovel");
            	String caminhofoto = rs.getString("imagem");
            	Imagens imagem = new Imagens(idImovelImagem,idImovel,caminhofoto);
            	usuarios[count2] = imagem;
            	
            	            	
            	count2++;
            	//System.out.println(id + " " + name); 
            }
            
            if (count==0){
            	RequestDispatcher rd1 = request.getRequestDispatcher("/ExibeNadaEncontrado");
            	rd1.forward(request, response);
            	
            }
            else{
            request.setAttribute("users", usuarios);
        	RequestDispatcher rd = request.getRequestDispatcher("listaimagens.jsp");
        	rd.forward(request, response);
            }
           
            
            
        }  
        catch(SQLException e)  
        {  
            // se houve algum erro, uma exceção é gerada para informar o erro   
            e.printStackTrace(); //vejamos que erro foi gerado e quem o gerou  
        } catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}  
        finally  
        {  
           try   
           {  
              con.close();  
           }  
           catch(SQLException onConClose)  
           {  
               System.out.println("Houve erro no fechamento da conexão");  
               onConClose.printStackTrace();  
           }  
        }  
     
	}  
         
}
<%@ page import="br.com.globalcode.util.Usuario"%>

<%
Imagens[] usuarios = (Imagens[])request.getAttribute("users");
%>

<%@page import="java.io.File"%>

<%@page import="br.com.globalcode.util.Imagens"%><html>
<head>
<title>Usuário</title>
</head>
<body>


<%
File arquivos = new File(request.getRealPath("logo"));    
  
String lista[] = arquivos.list(); 

%>

Quantidade encontrada: <%=usuarios.length%>  
<%for(int i=0; i<usuarios.length; i++){%>
<table border="1" width=20%>
<% String caminhonovo = usuarios[i].getCaminhoFoto();%>
<% String idImovel = usuarios[i].getidImovel();%>

<tr>
<td>Foto:</td>
<td><a href="ServletDetalhes?idImovel=<%=idImovel%>"><img src="<%=caminhonovo%>" WIDTH=202 HEIGHT=235 /></a></td>

</tr>
<tr>
<td>idImovel:</td>
<td><%=usuarios[i].getidImovel()%></td>
</tr>
<tr>
<td>idImovelImagem:</td>
<td><%=usuarios[i].getIdImovelImagem()%></td>
</tr>
<tr>

</table>
<br>
<%}%>

</body>
</html>
A

Consegui…

Para quem um dia precisar como eu…Pagina Jsp

<%@ page language="java" import="java.sql.*" errorPage="" %>
<%
int limitePorPagina = 1;
String idbusca= "1";
String pr1 = request.getParameter( "pr" );
try{
	Class.forName( "com.mysql.jdbc.Driver" ).newInstance();
	}
catch( Exception ex ){
	out.write( "Não carregou o Driver: " + ex.toString() );
	}
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/brasilcloud","root","XX");
PreparedStatement pstmt  = conn.prepareStatement("SELECT * FROM imovel_imagens WHERE idimovel = '" +idbusca+ "' LIMIT " + pr1 + "," + String.valueOf( limitePorPagina ) );
PreparedStatement pstmt2 = conn.prepareStatement("SELECT count(*) as c FROM imovel_imagens WHERE idimovel = '" +idbusca+ "'");
ResultSet resultado = pstmt.executeQuery();
ResultSet rs2       = pstmt2.executeQuery();
rs2.next();
int totalregs = Integer.parseInt( rs2.getString( "c" ) );
int totalpgs  = Math.round( totalregs / limitePorPagina );
if( ( totalregs % limitePorPagina ) > 0 ) totalpgs++;
int pr = Integer.parseInt( request.getParameter( "pr" ) );
%>

Resultado da Busca <%=totalregs%>&nbsp;registros	

<%
while( resultado.next() ){
	String id   = resultado.getString( "imagem" );
	String nm   = resultado.getString( "dataatual" );
	
	%>

<table border=1 bordercolor="black">
<tr><td width="300" align="center"><img src="<%=id%>" WIDTH=202 HEIGHT=235 /></td></tr>
<tr><td width="300">
<%=nm%>
</td>
</tr>
</table>

 <br>
<%            }%>
<%    if( pr > 0 ){%>[<a href="?pr=0">Primeira Página</a>][<a href="?pr=<%=pr-limitePorPagina%>">Anteriores</a>]<%
	}%><%    if( pr < ( totalpgs * limitePorPagina ) - limitePorPagina ){
	%>[<a href="?pr=<%=pr+limitePorPagina%>">Próximo</a>]
	[<a href="?pr=<%=( totalpgs * limitePorPagina ) - limitePorPagina%>">Ultima</a>] <%
	}%>

Como faria para que em vez de anterior e proximo, aparecece a numeração, parecida com o Google???

Criado 15 de setembro de 2011
Ultima resposta 16 de set. de 2011
Respostas 10
Participantes 3