【JSP入門】c:forTokensタグの使い方を解説!区切り文字で文字列を分割する方法
JSTLのc:forTokensタグとは
JSPのJSTL(JSP Standard Tag Library)コアタグライブラリに含まれる<c:forTokens>タグは、文字列を指定した区切り文字で分割し、分割された各トークンに対して繰り返し処理を行うためのタグです。カンマ区切りやスペース区切りのデータを扱う際に非常に便利です。
<c:forTokens>タグは、<c:forEach>タグとほぼ同じ属性を持っていますが、1つだけ追加の属性があります。それがdelims属性で、区切り文字として使用する文字を指定します。
delims属性の詳細
| 属性 | 説明 | 必須 | デフォルト値 |
|---|---|---|---|
| delims | 区切り文字として使用する文字 | はい | なし |
delims属性は必須です。また、複数の文字を指定した場合は、そのいずれかの文字が区切り文字として扱われます。例えば「,+ 」と指定すれば、カンマ・プラス・スペースのいずれかで文字列が分割されます。
<c:forTokens>の使用例
以下は、カンマ区切りの文字列をトークンに分割して表示するサンプルコードです。
<%@ taglib uri = "https://java.sun.com/jsp/jstl/core" prefix = "c" %>
<html>
<head>
<title><c:forTokens>タグの使用例</title>
</head>
<body>
<c:forTokens items = "Zara,nuha,roshy" delims = "," var = "name">
<c:out value = "${name}"/><p>
</c:forTokens>
</body>
</html>上記のコードを実行すると、次の結果が出力されます。
Zara nuha roshy
コードの解説
この例では、items属性に「Zara,nuha,roshy」というカンマ区切りの文字列を指定し、delims属性に「,」(カンマ)を指定しています。これにより、文字列がカンマを基準に3つのトークンに分割され、各トークンが順番に変数nameに格納されながらループ処理が実行されます。
ループ内では<c:out>タグを使って変数nameの値を安全に出力しており、その結果、3つの名前がそれぞれ改行されて表示されます。CSV形式のデータなど、区切り文字を含む文字列を処理したい場合に、<c:forTokens>タグはぜひ活用したいタグです。
-
JSPで数値をフォーマットする方法|fmt:formatNumberタグの使い方を解説
JSTL(JSP Standard Tag Library)の<fmt:formatNumber>タグは、数値・パーセント・通貨などを指定した形式で整形して表示するために使用します。金額の桁区切りや小数点以下の桁数制御など、Webアプリケーションの画面表示に欠かせないフォーマット処理を、スクリプトレットを書かずに簡単に実現できるのが特徴です。 fmt:formatNumberタグの主な属性 <fmt:formatNumber>タグには、以下の属性が用意されています。 属性説明必須デフォルト値 value表示する数値はいなし typeNUMBER(数値)、CURR
-
JSPでXMLを解析する方法|JSTL x:parseタグの使い方を徹底解説
<x:parse>タグは、属性で指定されたXMLデータ、またはタグ本体に記述されたXMLデータを解析(パース)するために使用します。JSTL(JSP Standard Tag Library)のXMLタグライブラリに属するタグで、Javaコードを直接書かずにJSP上でXMLを処理できるのが大きな特徴です。 x:parseタグの主な属性 <x:parse>タグには、以下の属性が用意されています。 属性説明必須デフォルト値var解析結果のXMLデータを格納する変数いいえなしxml解析対象のドキュメント本文(String型またはReader型)いいえタグ本体systemId