A paginação deve ser um trabalho que costumamos fazer ao desenvolver aplicativos da Web. É muito importante poder implementar a paginação dos bancos de dados e visualizar camadas de maneira relativamente simples.
Na camada de banco de dados, use o Hibernate para paginar o banco de dados e encapsular os dados consultados do banco de dados em Javabeans; Na camada de visualização, a paginação pode ser facilmente implementada.
Crie PageBean
pacote com.fishing.common.bean; importar java.util.list; @Suppresswarnings ("desmarcado") public class PageBean {lista privada da lista; // lista de registros a serem devolvidos privados int allrow; // Total Registros Private int totalpage; // Total de páginas privado int CurrentPage; // página atual private int PageSize; // número de registros por página Private boolean isfirstpage; // Se é a primeira página Private Boolean Islastpage; // seja a última página Private Boolean HaspreviousPage; // Existe uma página anterior Private Boolean HasNextPage; // Existe uma lista pública da próxima página getList () {Lista de retorno; } public void setList (lista de lista) {this.list = list; } public int getallrow () {return allrow; } public void Setallrow (int allRow) {this.allrow = allRow; } public int getTotalPage () {return totalpage; } public void SettotalPage (int totalpage) {this.totalpage = totalpage; } public int getCurrentPage () {return currentPage; } public void setCurrentPage (int currentPage) {this.currentpage = currentpage; } public int getPagesize () {return pagageSize; } public void setPagesize (int PAGESIZE) {this.pagesize = Pagesize; } / *** / / ***Informações de paginação de inicialização* / public void init () {this.isfirstpage = isfirstpage (); this.islastpage = ISLASTPAGE (); this.haspreviouspage = ishasPreviousPage (); this.hasnextpage = ishasnextpage (); }/ ** *// ** * O seguinte para julgar as informações da página, apenas o método getter (é método) * * @return */ public boolean isfirstpage () {return (currentpage == 1); // se a página atual for a primeira página} public boolean iSLASTPAGE () {returnpage == TotalPage; // se a página atual for a última página} public boolean ishaspreviouspage () {return curtpage! = 1; // desde que a página atual não seja a primeira página} public boolean ishasnextpage () {return CurrentPage! = TotalPage; // desde que a página atual não seja a última página}/***///*** calcule o número total de páginas, um método estático, e é diretamente chamado pela parte externa através do nome da classe** @param Pagesize* Número de registros por página* @param allRow* Total Registros* @return Páginas Total*/Public STATION INTTTALPAGE PageSize == 0? AllRow / PageSize: AllRow / PageSize + 1; retornar totalpage; } / *** / / *** Calcule o registro de início da página atual** @param pagageSize* Número de registros por página* @param currentpage* página atual* @return página atual número de registro* / public static int controkeffset (final int PAGESize, final int curvage) {final int offset = Pagesize* (CurrentPage - 1); retornar deslocamento; } /*** / /*** Calcule a página atual. Se é 0 ou não houver "? retornar a curpagem; }} Adicione métodos à interface abstrata da DAO baseada:
Public List QueryForpage (Final String HQL, Final Int Offset, Length Int Final); Método de implemento na classe de implementação da DAO Jianshedwdaoimpl list public list QueryForPage (Final String HQL, Final Int Offset, Final Int Length) {List List = GethibernateTemplate (). ExecuteFind (New Hibernatecallback () {Public Object DoinerNate (Session)) session.createquery (HQL); lista de retorno; } Adicione métodos à interface da camada de abstração de serviço JiaShedWService:
página de página pública QueryForpage (int PageSize, int CurrentPage);
Implementar métodos na classe de implementação do serviço:
public PageBean QueryForpage (int PageSize, Int Page) {Final String HQL = "From Jianshedwbean"; // declaração de consulta int allRow = this.basefao.getAllRowCount (HQL); // Total Records int totalpage = PageBean.CountTotalPage (PageSize, AllRow); // Total de páginas final int offset = PageBean.CountOffset (PageSize, página); // A página atual inicia a gravação final int length = PageSize; // número de registros por página final int currentPage = PageBean.CountCurrentPage (página); List <Jianshedwbean> list = this.Basefao.QueryForpage (HQL, deslocamento, comprimento); // registro de "One Page" // Salve as informações de paginação no PageBean PageBean = new PageBean (); PageBean.SetPagesize (PageSize); PageBean.SetCurrentPage (CurrentPage); PageBean.Setallrow (AllRow); PageBean.SetTotalPage (TotalPage); PageBean.SetList (List); PageBean.init (); Return PageBean; } Crie um modelo de paginação na ação da camada de visão
pacote com.fishing.action.lcq; importar com.fishing.common.bean.jianshedwbean; importação com.fishing.common.bean.pagebean; importar com.fishing.service.lcq.jianshedwservice; importação com.opensymphony.xwork2.actionsupport; @Suppresswarnings ("serial") classe pública getinfojsdwlistaction estende a ação de ação {private int página; // que página PageBean PageBean; // Bean contendo informações de distribuição privada Jianshedwbean Jianshedwbean; // página de página privada; Privado Jianshedwservice Jianshedwservice; public int getPage () {Return Page; } public void setPage (int página) {this.page = página; } public PageBean getPageBean () {return PageBean; } public void setPageBean (PageBean PageBean) {this.pageBean = PageBean; } public jianshedwbean getjianshedwbean () {return jianshedwbean; } public void setjianshedwbean (jianshedwbean jianshedwbean) {this.jianshedwbean = jianshedwbean; } public jianshedwservice getjianshedwservice () {return jianshedwservice; } public void SetjianshedWService (JiaShedWService JianshedWService) {this.jianshedWService = jiaShedWService; } @Override public String Execute () lança Exceção {// O PageBean da página, o parâmetro PageSize indica o número de registros exibidos por página, a página é a página atual. sucesso de sucesso; }} Escreva uma página no JSP
<tr> <td> </td> <td> <s: if test = "%{pagebean.currentPage == 1}"> Página anterior inicial </s: se> <s: else> <a href = "jiangguan/getjsdwinfos.action? href = "jiangguan/getjsdwinfos.action? Page = <s: Property value ="%{PageBean.currentPage-1} "/>"/> página anterior </a> </s: else> </td> <td> <s: se test = "%{PageBean.curntet! href = "jiangguan/getjsdwinfos.action? Page = <s: Property value ="%{PageBean.currentPage+1} "/>"> próxima página </a> <a href = "jiangguan/getjsdwinfos.action? <s: else> Próxima página de pageLast </s: else> </td> <td> <div align = "Center"> página <s: propriedade value = "pagebean.currentpage"/>/<s: propriedade value = "PageBean.totalpage"/> <s: Property = "PageBean.AllRow"/> </td> </tr> O exposto acima é apenas uma implementação do código e não explica o arquivo de configuração, e o leitor o configura de acordo com a situação.
Espero que este artigo seja útil para você. Tudo isso é para você introduzir o conteúdo de paginação da implementação SSH2 de banco de dados e interface. Espero que todos continuem a seguir nosso site! Se você quiser aprender Java, pode continuar a seguir este site.