Manchmal gibt es viele Daten, die anhand von Bedingungen abgerufen werden müssen, und sie müssen auf der Seite durch Paging angezeigt werden. Zu diesem Zeitpunkt ist es nicht bequem, die Datenbank jedes Mal mit Abfragebedingungen zu paginieren. Sie können in der Liste paginieren.
Die Modellklasse der Seite:
public class Seite {private Integer currentPage; // aktuelle Seite private int pageSize; // Anzahl der auf jeder Seite angezeigten privaten Int TotalPage; // Gesamtzahl der Seiten private Liste <?> Datalist; // Daten, die auf jeder Seite private int star angezeigt werden; // Data Public Ganzzahl GetCurentPage () {return currentRage return currentage; } public void setCurrentPage (Integer currentPage) {this.currentPage = currentPage; } public int getPageSize () {return pageSize; } public void setPageSize (int pageSize) {this.pageSize = pageSize; } public int getTotalpage () {return TotalPage; } public void setotalpage (int TotalPage) {this.totalPage = TotalPage; } public list <?> getDatalist () {return Datalist; } public void setDatalist (list <?> datalist) {this.datalist = datalist; } public int getstar () {return star; } public void setStar (int star) {this.star = star; }}Kontrollschicht:
@RequestMapping ("fenye.do") public String fen (Seite Seite, httpServletRequest -Anforderung) {try {// Die Liste der Abfrageliste Datenliste <Daten> showData = loginService.Selectyichall (); // Die erste Seite ist die erste Seite if (page.getCurrentPage () == null) {page.setCurrentPage (1); } else {page.setCurrentPage (page.getCurrentPage ()); } // Die Daten pro Seite auf zehn Seiten festlegen. // die Startnummer jeder Seite Seite.setSetStar ((page.getCurrentPage () - 1) * page.getPageSize ()); // Die Größe der Liste int count = showData.size (); // Setzen Sie die Gesamtzahl der Seitenseite. // Die Liste page.setDatalist (showData.sublist (page.getStar (), count-page.getStar ()> Page.getPageSize ()? Page.getStar ()++Page.getPageSize (): count)) abfangen. // Scope Request.SetAttribute ("Paging", Seite) festlegen; zurück "add/show.jsp"; } catch (Ausnahme e) {// Todo automatisch generierter Block E. printstacktrace (); zurück "fehler.jsp"; }}JSP -Seite:
<script type = "text/javaScript" Sprache = "JavaScript"> Funktion GOPage (Seite) {location.href = "fenye.do?currentPage=" rel = "external nofollow" +Seite; } </script> <div> <table align = "center" cellpacing = "1"> <c: foreach items = "$ {Paging.Datalist}" var = "upl"> <tr> <td align = "center"> $ {upl.name1} </td> <td align = "center"> $ {{upl.name2} <td> {td {{{{{{{{{{{{{{{{{upl.name) {{{{{{{{{{{{{{{{{{{{upl align = "center"> $ {upl.name2} </td> <td align = "center"> $ {upl.name3} </td> </tr> </c: foreach> </table> </div> <div style = "text-align: center; margin-top: 10px; color: weiß: weiß: weiß: weiß; id = "venderfen"> <c: if test = "$ {Paging.TotalPage> 0}"> aktuelle $ {Paging.CurrentPage} Seite/Gesamt $ {Paging.Totalpage} Seite </c: if> <c: if test = "$ {Paging.totalpage> 1}"> "<c: co. test="${paging.currentPage==2 && paging.totalPage==2}"> <a onclick="goPage(1)">Home</a> <a onclick="goPage(${paging.currentPage-1})">Previous page</a> </c:when> <c:when test="${paging.currentPage==1}"> <a onclick="goPage(${paging.currentPage+1})">Next page</a> <a onclick="goPage(${paging.totalPage})">Last page</a> </c:when> <c:when test = "$ {Paging.currentPage == Paging.TotalPage}"> <a onclick = "Gopage (1)"> Home </a> <a onclick = "GOPage ($ {Paging.currentPage-1})"> Vorgängerpage </a> </c: wenn> <c: sonst> <a onclick = ">"> "> </c:, wenn> <c: sonst> <a onclick =" ">"> </c:> <c: sonst> <a Onclick = ""> "> </c:> <c: sonst> <a onclick =" ">"> </c:, wenn> <c: sonst> <a onclick = ""> "> </c:> <c. onclick="goPage(${paging.currentPage-1})">Previous page</a> <a onclick="goPage(${paging.currentPage+1})">Next page</a> <a onclick="goPage(${paging.totalPage})">Last page</a> </c:otherwise> </c:choose> </c:if> Total $ {Paging.Total} </div> StringBuilder sb = new StringBuilder (); sb.Append ("SELECT DISEUT (M.Time)"); SB.Append ("von TBL_Monitor M. sb.append ("links join tbl_variable_group g auf v.variable_group = g.id"); sb.Append ("wobei v.active = true und g.active = true"); //sb.Append ("und m.Variable in" + variableIDs); sb.Append ("und existiert (select vtemp.id aus tbl_variable vtemp wobei vtemp.selected = true und vtemp.id = m.variable)"); SB.Append ("und M.Time zwischen" + BeginTime + "und" + endzeit); SB.Append ("Order von M.Time ASC"); Query query = em.createnativeQuery (sb.toString ()); // Die Häufigkeit, mit der die Suchkriterien erfüllt werden, ist int Total = query.getResultlist (). Size (); tableView.settotal (insgesamt); tableView.settotalpage (Gesamt % Page.getPageSize () == 0? Total / Page.getPageSize (): (Total / Page.getPageSize ()) + 1); query.setFirstresult (von); query.setMaxResults (Offset); timelist = query.getResultlist ();Das obige ist der gesamte Inhalt dieses Artikels über Paging -Listen und das Anzeigen von Daten zum Page -Instanzcode in Java. Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf andere verwandte Themen auf dieser Website verweisen. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank an Freunde für Ihre Unterstützung für diese Seite!