tun können, um Erstellen Sie eine neue URL basierend auf der aktuellen URL, müssen Sie zuerst die aktuelle URL aus dem request
Objekt abrufen. Für den Zugriff auf das request
Objekt in einer JSP verwenden pageContext
implicit object definiert durch die JSP Expression Language:
${pageContext.request.requestURL}
Hier ist das einfache Beispiel für den Aufbau URL in einer JSP-Seite:
test.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<title>Test Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<h1>Testing URL construction</h1>
<c:choose>
<c:when test="${pageContext.request.queryString != null}">
<a href="${pageContext.request.requestURL}?${pageContext.request.queryString}&page=xxx">Go to page xxx</a>
</c:when>
<c:otherwise>
<a href="${pageContext.request.requestURL}?page=xxx">Go to page xxx</a>
</c:otherwise>
</c:choose>
</body>
</html>
Diese Lösung ermöglicht das Erstellen von URLs abhängig davon, ob die aktuelle URL bereits eine Abfragezeichenfolge enthält oder nicht. So hängen Sie sie jeweils entweder
?${pageContext.request.queryString}&page=xxx
oder nur
?page=xxx
auf die aktuelle URL.
JSTL und die Expression Language wurden verwendet, um das Überprüfen auf eine Abfragezeichenfolge zu implementieren. Und wir verwendeten getRequestURL()
Methode, um die aktuelle URL zu erhalten.
leider meine Paginierung Komponente (wegen der Wiederverwendung) weiß nicht, welche Parameter für die URL gültig sind und kann sie auch nicht selbst festlegen. Es kann nur die Parameterseite – igo
hinzufügen, dann können Sie es überprüfen Ihr Code ist hier –
dh Hinzufügen Parameter Seite' 'wo' Seite' ist eine Anfrage attr und wird Parameter in sein die URL, wenn Sie Parameter anstelle von attr benötigen, dann verwenden Sie 'param' Präfix. –