■ Inhaltsverzeichnis 1, am Anfang 2, Seitenzahllogik 3, Codebeispiel
■ Einführung Als ich eine Suchseite erstellt habe, habe ich viel Zeit gebraucht, um die Seitenzahl anzuzeigen, daher werde ich sie veröffentlichen habe gedacht. Ich würde es begrüßen, wenn Sie sich darauf beziehen könnten. (Da es sich um ein Beispiel handelt, lassen Sie mich bitte wissen, ob es eine Verbesserung oder einen besseren Code gibt.)
■ Seitenzahllogik
Wenn die Seite 1 ist, werden die Zahlen bis zu 5 angezeigt, und dazwischen wird "..." angezeigt, um die letzte Nummer anzuzeigen.
Wenn die Seitenzahl 5 oder mehr beträgt, werden die erste Seite, die beiden vorderen Seitenzahlen, die beiden hinteren und die letzte Nummer angezeigt.
Wenn die Seite (letzte Seite 3) ist, werden die erste Seite, die letzte Seite und die vorherige Seite angezeigt.
■ Codebeispiel (jsp) Die href des a-Tags ist der Code ohne Link. Da es keinen Sinn macht, Variablen und Konstanten zu benennen, lassen Sie mich bitte wissen, ob Sie einen guten Namen haben.
<%
//Seitenzahl / Variablendeklaration der aktuellen Seite
int currentPage;
int lastPageNum;
//Variablenzuordnung
currentPage = 5;
lastPageNum = 9;
//Ständige Erklärung
final int FIRST_PAGE = 1;
final int FIRST_HALF_CHECK = 5;
final int LAST_HALF_CHECK = 4;
final int BEFORE_AND_AFTER = 2;
%>
<section>
<div class="pageLeft">
<%if(currentPage != FIRST_PAGE){ %>
<a href="">Zur vorherigen Seite</a>
<%} %>
</div>
<div class="pageCenter">
<%if(currentPage >= FIRST_HALF_CHECK){ %>
<a href="">1</a>
…
<%} %>
<%if(currentPage < FIRST_HALF_CHECK){ %>
<%for(int i = 1; i <= FIRST_HALF_CHECK; i++){ %>
<%if(i <= lastPageNum){ %>
//Verzweigen Sie, ob ein Tag eingefügt werden soll oder nicht (die aktuelle Seite enthält kein Tag)
<%if(i == currentPage){ %>
<span><%=i %></span>
<%}else{ %>
<a href=""><%=i %></a>
<%} %>
<%} %>
<%} %>
<%}else if(lastPageNum - currentPage < LAST_HALF_CHECK){ %>
<%for(int i = lastPageNum - LAST_HALF_CHECK; i <= lastPageNum; i++){ %>
<%if(i > 0){ %>
//Verzweigen Sie, ob ein Tag eingefügt werden soll oder nicht (die aktuelle Seite enthält kein Tag)
<%if(i == currentPage){ %>
<span><%=i %></span>
<%}else{ %>
<a href=""><%=i %></a>
<%} %>
<%} %>
<%} %>
<%}else{ %>
<%for(int i = currentPage - BEFORE_AND_AFTER; i <= currentPage + BEFORE_AND_AFTER; i++){ %>
//Verzweigen Sie, ob ein Tag eingefügt werden soll oder nicht (die aktuelle Seite enthält kein Tag)
<%if(i == currentPage){ %>
<span><%=i %></span>
<%}else{ %>
<a href=""><%=i %></a>
<%} %>
<%} %>
<%} %>
<%if(lastPageNum - currentPage >= LAST_HALF_CHECK){ %>
…<a href=""><%=lastPageNum %></a>
<%} %>
</div>
<div class="pageRight">
<%if(currentPage != lastPageNum){ %>
<a href="">zur nächsten Seite</a>
<%} %>
</div>
</section>
■ Zusammenfassung Ich habe es geschrieben, weil ich einmal auf der Suchseite in der Seitenzahllogik stecken geblieben bin. Ich denke, es gibt bessere Wege und Verbesserungen, daher würde ich mich freuen, wenn Sie mich wissen lassen könnten.
Recommended Posts