<c:url>
xmlns:c="http://java.sun.com/jsp/jstl/core"
SYNOPSIS
説 明
URL にコンテキスト名と URL エンコードされたリクエストパラメータを追加した文字列を組み立てます。
<c:url>
<c:url value="/foo/bar.jsp">
<c:param name="name" value="${value}" />
…
</c:url>
参照:
<c:param> 属 性
required
処理対象の URL です。絶対 URL または相対 URL を指定することが出来ます。
context 属性を指定した場合は必ず / から始まる必要があります。
optional
別の Web アプリケーションに対する URL を構築するために使用します。値は / で始める必要があります。
Tomcat 6.0 では対象の Web アプリケーションが存在しなくてもエラーになりません。
内 容
URL に追加するリクエストパラメータを指定します。パラメータ値に日本語などが混在する場合の URL エンコーディングは、その JSP の出力エンコーディング (
contentType の charset 属性)
に依存します。
使用例
リクエストパラメータを指定して URL を構築します。
先頭にコンテキストパスが付属し、URL エンコードされたパラメータが連結されます
(このサンプル実行環境のコンテキストパスは
上記の
JSP
<%@ page language="java"
contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8" session="false" %>
<%@ taglib prefix="c" uri="/WEB-INF/tld/c.tld" %>
<html>
<body>
<c:url value="/com.jsp">
<c:param name="foo" value="あいうえお" />
</c:url>
</body>
</html>
/sampleweb です)。日本語の値は JSP の出力エンコーディング UTF-8 でエンコードされています。
結果
<html> <body> /sampleweb/com.jsp?foo=%e3%81%82%e3%81%84%e3%81%86%e3%81%88%e3%81%8a </body> </html>
page ディレクティブを contentType="text/html;charset=Windows-31J"
と書き換えると以下のように結果が変わります。
結果
<html> <body> /sampleweb/com.jsp?foo=%82%a0%82%a2%82%a4%82%a6%82%a8 </body> </html>