@634

JSTL(JavaServer Pages Standard Tag Library) - core

Advertisement

JSTL coreとは

アプリケーションのコアとなる、よく利用される機能のライブラリ。変数の操作や条件分岐、繰り返しなどの基本的な機能が一通り定義されている。

JSTL coreタグ一覧

  • catch
  • choose
  • if
  • import
  • forEach
  • forTokens
  • out
  • otherwise
  • param
  • redirect
  • remove
  • set
  • url
  • when

catch

<c:catch var="catch_var">
    <%
    String str = null;
    str.substring(0, 1);
    %>
</c:catch>
<c:out value="${catch_var}"></c:out>
例外のtry-catch機構をカスタムタグで提供する。

結果
java.lang.NullPointerException

choose

<c:choose>
<c:when test="false">false</c:when>
<c:otherwise>other</c:otherwise>
</c:choose>
条件分岐の利用。if - elseif - else形式。

結果
other

if

<c:if test="true">
true
</c:if>
<c:if test="false">
false
</c:if>
単純な条件分岐の利用。

結果
true

import

<c:import url="import.txt" />
外部ファイルをインポートする。

import.txt
import!!!

結果
import!!!

forEach

<%
String[] for_each_array = {"array1","array2"};
request.setAttribute("for_each_array", for_each_array);
%>
<c:forEach items="${for_each_array}" var="value">
    <c:out value="${value}"/><br>
</c:forEach>
コレクションや配列に対して繰り返し処理を実行する。

結果
array1
array2

forTokens

<c:set var="token" value="value1,value2,value3"/>
<c:forTokens items="${token}" delims=","
    var="value" varStatus="i" begin="0" end="100" step="1">
    <c:out value="${value}"/><br>
</c:forTokens>
任意のtokenで区切られた文字列を、分解処理する。

結果
value1
value2
value3

out

<c:set var="x" value="10"/>
<c:set var="y" value="20"/>
<c:out value="${x}"/> + <c:out value="${y}"/> = <c:out value="${x + y}"/>

<br/>
<c:out value="sample"/>
<br/>
<c:out value="sampl<em>e</em>" escapeXml="true"/>
<br/>
<c:out value="sampl<em>e</em>" escapeXml="false"/>
<br/>
<c:out value="${outnull}" default="default!!"/>
<br/>

<%@page import="java.util.*"%>
<%
String[] array = {"array1","array2"};
request.setAttribute("array", array);

List list = new ArrayList();
list.add("list1");
list.add("list2");
request.setAttribute("list", list);

Map map = new HashMap();
map.put("map1", "map_value1");
map.put("map2", "map_value2");
map.put("map3", "map_value3");
request.setAttribute("map", map);
%>
<c:out value="${array[0]}"/><br>
<c:out value="${list[1]}"/><br>
<c:out value="${map['map1']}"/><br>

param.name:<c:out value="${param.name}"/><br>
paramValues.name[0]:<c:out value="${paramValues.name[0]}"/><br>
paramValues.name[1]:<c:out value="${paramValues.name[1]}"/><br>
様々な形式の変数を出力処理する。

結果
10 + 20 = 30
sample
sample
sample
default!!
array1
list2
map_value1



otherwise

chooseを参照。

param

redirectを参照。

redirect

<c:redirect url="http://www.yahoo.co.jp">
  <c:param name="param1" value="value1" />
  <c:param name="param2" value="value2" />
</c:redirect>
ページのリダイレクトを行う。

結果
http://www.yahoo.co.jp/?param1=value1¶m2=value2

remove

<c:remove var="x" />
不要になったパラメータを削除する。

set

<c:set var="x" value="10"/>
<c:set var="y" value="20"/>
<c:out value="${x}"/> + <c:out value="${y}"/> = <c:out value="${x + y}"/>
変数の宣言と値の設定。

結果
10 + 20 = 30

url

<c:url value="http://www.yahoo.co.jp/" var="yahooUrl">
   <c:param name="search" value="MyName"/>
</c:url>
<c:out value="${yahooUrl}"></c:out>
URLのエンコード

結果
http://www.yahoo.co.jp/?search=MyName

when

chooseを参照。

Advertisement

ショートカット

634トップページ
このカテゴリのトップページに戻る
634ラボ
   UIコレクションギャラリー

サイト検索

Google

Web サイト内

Y!ログール