Basicamente, você passa uma lista para ela e a mesma se vira e monta, indepedente se vem de um txt, xml, tabela do bd x y ou z.
1 - Crie uma classe que conecte com o Sql Server, dica use o driver jtds.
2 - Crie sua classe modelo.
3 - Crie sua classe DAO, que contenha o método que retorna uma lista.
4 - Passe essa lista via request ou sessão para um JSP pelo seu Controller, que pode ser uma Servlet caso não use nenhum framework MVC.
5 - Finalmente agora você monta a paginação conforme exemplo.
Sim, se for somente a paginação aquelas linhas resolvem dentro das tags Htmls normais.
<html><head></head>...
</html>
Pedrosa
Tenho a 1.O a 1.1 está mais completa.
Pedrosa
Você adicionou o jstl.jar também?
Como ficou sua página?
fmeyer
Paginação não ficaria melhor sendo controlada pela persistencia ? quando voce faz uma consulta vc seleciona o offset + tamanho de pagina, ao inves de retornar uma consulta de 10000 de registros e não mostrar-los na hora.
augustopovoa
E como eu faria por persistencia??
augustopovoa
Pedrosa:
Você adicionou o jstl.jar também?
Como ficou sua página?
eu uso o tomcat c eu jogar todos esses *.jar dentro da pasta common/lib do tomcat seria uma má pratica ou não funcionaria mesmo??
faço isso com a maioria do jar inclusive o core eu só joguei lá e funcionou!!!
Pedrosa
Eu tenho! estou anexando
D
daniel_lourenco
Concordo mas você poderia dar exemplos mas precisos…
D
daniel_lourenco
Concordo mas você tem exemplos mais precisos???
D
daniel_lourenco
Pedrosa me esclarece uma coisa… se alguem além dele puder me ajudar agradeço da mesma forma.
Começei a utilizar o displaytag a pouco tempo. portanto me surgiram algumas dúvidas e como encontrei várias respostas suas em muitos posts a respeito de páginação recomendando o Displaytag, acredito que deva conhecer bem esse componente.
Talvez vc possa me ajudar…
Esse componente, ao que me parace que, pega todo o conteúdo recuperado em uma lista e envia, de uma vez só, para a página efetuar o controle de páginação. Isso acredito eu pode vir a gerar sérios problemas de timeout quando falar-mos de milhares de registros… se eu estiver errado peço que me corrija.
Mas de acordo com a documentação existem uma forma de utilizar o Displaytag em conjunto com o Pattern Valuelist, que permite a paginação interna pela aplicação, enviando somente os registros a serem visualizados.
Sendo que infelizmente não consegui exemplos bem claros de como utiliza-los…
Se alguem puder me dar uma luz… sou muito grato…
Abraços.
Weslley
Existe uma forma mais simples ainda…
quando vc traz uma penca de registros do BD, vc pode salva-los na memória…
Ae sua paginação fica na memória… ao inves de ir ao BD e trazer essa mesma penca novamente…
É uma forma bem simples tbm… acho q até no JSF tem algo q faz dessa forma…
Valeu!!!
leandronsp
Concordo mas você tem exemplos mais precisos???
Daniel,
Por persistência, a idéia é um método no Dao receber os parâmetros de inicio e quantidade. Por exemplo:
Aqui no ebaH! no caso, fazemos paginação com persistÊncia desta maneira, pois não precisa carregar toda a lista para a visualização, apenas o que foi necessário para paginar.
Na visualização, porém, fizemos uma tag de paginação própria. Não é muito difícil.
A displaytag carrega todos os dados em tempo de execução, oq pode gerar, conforme alguns colegas citaram, problemas de performance.
Espero ter ajudado,
[]´s
Simone_Aparecida_M_B
Olá
Alguém tem algum exemplo de paginação jsp, utilizando o banco sql server?
Att
Simone
Simone_Aparecida_M_B
Ok Pedroza, implementei todas as classes…
Tô com dificuldade apenas para implementar o código da paginação.
try{conn=super.getConexao();Statementstat=conn.createStatement();ResultSetrs=stat.executeQuery("SELECT DS_COMANDO, DS_CAMPO, DS_ALIAS FROM SYS_CAMPO ");while(rs.next()){CampoVocampoVo=newCampoVo();campoVo.setDS_COMANDO(rs.getString("DS_COMANDO"));campoVo.setDS_CAMPO(rs.getString("DS_CAMPO"));campoVo.setDS_ALIAS(rs.getString("DS_ALIAS"));resultado.add(campoVo);}rs.close();stat.close();System.out.println("Dados pesquisados com sucesso");}catch(SQLExceptionsqle){System.out.println("Erro de SQL");}returnresultado;}
[color=red]CONEXÃO BANCO DE DADOS[/color]
public class Conexao {
publicConnectiongetConexao(){Connectionconnection=null;Stringurl="jdbc:microsoft:sqlserver://notedell001:1433;databaseName=CADGEN";Stringuser="sa";Stringpassword="password";try{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");System.out.println("Driver Carregado");connection=DriverManager.getConnection(url,user,password);System.out.println("Banco Conectado");}catch(ClassNotFoundExceptione){System.out.println("Ocorreu um erro no carregamento do Driver SQLServer!");e.printStackTrace();}catch(SQLExceptione){System.out.println("Erro ao conectar ao banco de dados!");e.printStackTrace();}returnconnection;}publicvoidfecharRecursos(Connectionconnection,Statementstatement){this.fecharRecursos(connection,statement);}publicvoidfecharRecursos(Connectionconnection,Statementstatement,ResultSetresultset){try{if(resultset!=null)resultset.close();}catch(SQLExceptione){System.out.println("Erro ao fechar ResultSet");}try{if(statement!=null)statement.close();}catch(SQLExceptione){System.out.println("Erro ao fechar statement");}try{if(connection!=null)connection.close();}catch(SQLExceptione){System.out.println("Erro ao fechar connection");}}
Mais meu jsp vai conter somente essa tag de display?
E aonde pego esses jars?
Att
Simone_Aparecida_M_B
Que pena, não estou conseguindo baixar o jar do display, vc tem ele aí?
Att
Simone
Simone_Aparecida_M_B
Ok Pedroza coloquei todos os meus .jars dentro da pasta lib, dentro de web-inf, depois coloquei no class path.
Mesmo assim estou tendo esse erro:
typeExceptionreportmessagedescriptionTheserverencounteredaninternalerror()thatpreventeditfromfulfillingthisrequest.exceptionorg.apache.jasper.JasperException:Thisabsoluteuri(http://java.sun.com/jsp/jstl/core) cannot be resolved in either web.xml or the jar files deployed with this applicationatorg.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:60)atorg.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:385)atorg.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:109)atorg.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:116)atorg.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:309)atorg.apache.jasper.compiler.Parser.parseDirective(Parser.java:336)atorg.apache.jasper.compiler.Parser.parseElements(Parser.java:750)atorg.apache.jasper.compiler.Parser.parse(Parser.java:77)atorg.apache.jasper.compiler.ParserController.parse(ParserController.java:157)
Sabe o que é?
Att
Simone_Aparecida_M_B
Bom dia
Aonde eu pego esse jar do jstl?
Att
Simone
Simone_Aparecida_M_B
ok pedroza…
já importei todos os jars necessários, que são eles: