現在の URL に基づいて新しい URL を作成するには、まずオブジェクトから現在の URL を取得するrequest
必要があります。request
JSP 内のオブジェクトにアクセスするには、JSP 式言語で定義されたpageContext
暗黙的なオブジェクトを使用します。
${pageContext.request.requestURL}
JSP ページで URL を構成する簡単な例を次に示します。
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>
このソリューションを使用すると、現在の URL にクエリ文字列が含まれているかどうかに応じてURL を作成できます。したがって、それぞれ次のいずれかを追加します
?${pageContext.request.queryString}&page=xxx
あるいは単に
?page=xxx
現在の URL に。
クエリ文字列のチェックを実装するために、JSTLとExpression Languageが使用されました。メソッドを使用getRequestURL()
して現在の URL を取得しました。