JSP/Servlet | JSTL(JSP Standard Tag Library) | <c:url>, <c:redirect>
URL出力 <c:url>
<c:url>タグはURLを作成する。URLをエンコードしたり、contextを自動的に追加してアドレスを生成したりできる。
context属性が指定された場合、valueとcontextの値は/で始まる必要がある。context属性を省略すると、現在のコンテキストが適用される。
文法
<c:url value="value" [context="context"] [var="varName"] [scope="{page|request|session|application}"]/>
属性
| 項目 | 説明 | 必須 | デフォルト |
|---|---|---|---|
| url | 基本URL | 必須 | |
| context | / の後に来るローカルアプリケーション名 | 現在のアプリケーション | |
| var | 処理されたURLを格納する変数名 | 表示されるページ | |
| scope | 処理されたURL変数を公開するスコープ | page |
例
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Tag Example</title>
</head>
<body>
<a href="<c:url value='/hello.jsp?name=デブクマ'/>">cookie.jsp</a><br><br>
<a href="<c:url value='/' />">Context Root(/)</a>
</body>
</html>
下のリンクタグをクリックすると、http://localhost:8080/hello.jspへ移動する。
<a href="<c:url value='/hello.jsp?name=デブ クマ'/>">cookie.jsp</a><br><br>
<c:url>が作成するURLはhttp://localhost:8080/web/jsp/hello.jspであり、name変数の「デブ クマ」値に空白があるため、これは%20としてURLエンコードされて渡される。
下のリンクタグをクリックすると、http://localhost:8080/web/へ移動する。
<a href="<c:url value='/'/>">Context Root(/)</a>
リダイレクト <c:redirect>
属性
| 項目 | 説明 | 必須 | デフォルト |
|---|---|---|---|
| url | ユーザーのブラウザーでリダイレクトするURL | 必須 | |
| context | / の後に来るローカルWebアプリケーション名 |
例
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title><c:redirect> Tag Example</title>
</head>
<body>
<c:redirect url="http://www.devkuma.com"/>
</body>
</html>
http://www.devkuma.comへ移動する。