Seitenzahllogik und Referenzcode (Java)

■ 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. image.png

Wenn die Seitenzahl 5 oder mehr beträgt, werden die erste Seite, die beiden vorderen Seitenzahlen, die beiden hinteren und die letzte Nummer angezeigt. image.png

Wenn die Seite (letzte Seite 3) ist, werden die erste Seite, die letzte Seite und die vorherige Seite angezeigt. image.png

■ 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

Seitenzahllogik und Referenzcode (Java)
Grundlegende Datentypen und Referenztypen (Java)
Java-Referenzmechanismus (Stack und Heap)
Java 9 neue Funktionen und Beispielcode
Java als Wert übergeben und als Referenz übergeben
Informationen zu primitiven Java-Typen und Referenztypen
Java-Basisdatentypen und Referenztypen
Verknüpfen Sie Java- und C ++ - Code mit SWIG
Führen Sie Java-Code skriptweise aus
Java (Zufallszahl)
Java-Code-TIPPS
Java-Beispielcode 02
Java-Beispielcode 03
Java8-Methodenreferenz
Java-Beispielcode 04
Java und JavaScript
XXE und Java
Java-Beispielcode 01
Java-Zeichencode
Java8-Methodenreferenz
JAVA Referenzmaterialien
Meine Java-Referenz
Informationen zum Java-Grunddatentyp- und Referenztypspeicher
Java wahr und falsch
[Java] Vergleich von Zeichenketten und && und ||
Java - Serialisierung und Deserialisierung
timedatectl und Java TimeZone
[Java] Variablen- und Typtypen
Java (Klasse und Instanz)
[java] Nummer ablehnen → Zahl n-Zahl → Dezimalzahl
[Java] Überladen und überschreiben
Lösen mit Ruby, Perl und Java AtCoder ABC 113 C Referenz
Befehl zum Überprüfen der Anzahl und des Status von Java-Threads
Verstehen Sie das Singleton-Muster, indem Sie Java- und JavaScript-Code vergleichen
Beispielcode zum Parsen von Datum und Uhrzeit mit Java SimpleDateFormat
[Java] Unterschied zwischen der Zuweisung der Basistypvariablen und der Zuordnung der Referenztypvariablen
Korrigieren Sie den Zeichencode in Java und lesen Sie von der URL
Einstellungen für die Eclipse-Installation und die Verstärkung der Codevervollständigung (Mac für Java-Entwicklung)
Verstehen Sie das Iterator-Muster, indem Sie Java- und JavaScript-Code vergleichen