JSTL <c:remove>

<c:remove> は変数を削除するJSP標準タグライブラリ(JSTL)である。

タグ

<c:remove var="variable" />

属性

<c:remove> タグには次の属性を指定する。

scope
var属性で指定した変数の有効範囲(スコープ)を指定する。次のうちいずれかの値をscope属性に指定する。
scope属性
スコープ変数の有効範囲
pageJSPページ
requestHTTPリクエスト
sessionHTTPセッション
applicationWebアプリケーション

scope属性にpageスコープを指定すると、var属性で指定した変数がpageスコープから削除される。該当する変数がpageスコープに存在しない場合、変数は削除されない。

<c:remove var="variable" scope="page" />

pageスコープの変数は、変数の有効範囲(スコープ)がそのJSPページ内に限られる変数である。画面遷移がある場合、後続のJSPページで変数を参照することはできない。

page scope
Figure 1. page scope

scope属性にrequestスコープを指定すると、var属性で指定した変数がrequestスコープから削除される。該当する変数がrequestスコープに存在しない場合、変数は削除されない。

<c:remove var="variable" scope="request" />

requestスコープの変数は、変数の有効範囲(スコープ)がそのHTTPリクエスト内に限られる変数である。ひとつのHTTPリクエストを処理するモジュールが複数あった場合、それらすべてが有効範囲になる。

request scope
Figure 2. request scope

scope属性にsessionスコープを指定すると、var属性で指定した変数がsessionスコープから削除される。該当する変数がsessionスコープに存在しない場合、変数は削除されない。

<c:remove var="variable" scope="session" />

sessionスコープの変数は、変数の有効範囲(スコープ)がそのHTTPセッション内に限られる変数である。画面遷移がある場合、後続のJSPページでも変数を参照できる。

session scope
Figure 3. session scope

scope属性にapplicationスコープを指定すると、var属性で指定した変数がapplicationスコープから削除される。該当する変数がapplicationスコープに存在しない場合、変数は削除されない。

<c:remove var="variable" scope="application" />

applicationの変数は、変数の有効範囲(スコープ)がウェブ・アプリケーション全体に渡る変数である。HTTPリクエストやHTTPセッションに関わらず、すべてのJSPページから変数を参照できる。

application scope
Figure 4. application scope

scope属性の指定を省略した場合は、すべてのスコープから変数を削除する。

var
削除する変数の名前を指定する。必須属性で、省略できない。
<c:remove var="variable" />

<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
  <head>
    <title>Core out tag</titile>
  </head>
  <body>
    <c:set var="userName" value="佐藤愛桜" />
    <c:out value="${userName}" />
    <c:remove var="userName" />
    <c:out value="${userName}" />
  </body>
</html>

JSTL (JavaServer Pages Standard Tag Library)

JSP (JavaServer Pages) には、他にも次のJSP標準タグライブラリ(JSTL)がある。

ディレクティブ

JSPには次のディレクティブがある。

アクションタグ

JSPには次のアクションタグがある。