JSTLリファレンス(逆引き)

JSPリファレンス
 
Web struts.wasureppoi.com
指定したXPath式で取得した値を、繰り返し処理する:<x:forEach>
スポンサード リンク

指定したXPath式で取得した値を、繰り返し処理するには<x:forEach>タグを使用します。

<x:forEach>タグの属性
属性 必須 説明
select 特定の複数のXMLタグを取得する為のXpath式を指定する
var × 「select」属性で取得した値を格納する変数名を指定する
begin × 「select」属性で取得したXMLタグ情報から、最初に取得するインデックス番号。デフォルトはゼロ
end × 「select」属性で取得したXMLタグ情報から、最後に取得するインデックス番号。デフォルトは最後のインデックス番号
step × 1回のループで進めるインデックス番号
varStatus × 現在のループの状態を表すステータス変数。
ステータス変数の子要素からいろいろな情報を参照できる。
詳細は下記の表を参照

ステータス変数の一覧
変数 説明
current var属性で指定した変数に格納されている現在のオブジェクト
index 現在のループのインデックス番号(ゼロから開始したインデックス番号)
count 現在のループのインデックス番号(1から開始したインデックス番号)
first 現在がループの先頭かどうか(true/false)
last 現在がループの最後かどうか(true/false)
begin begin属性に指定した値
end end属性に指定した値
step step属性に指定した値


例1) 「sample.xml」の内容を出力する。

<%@ page language="java" contentType="text/html;charset=Windows-31J"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml"%>

<c:import var="xmlDoc" url="WEB-INF/sample.xml" charEncoding="Windows-31J" />

<x:parse var="xdoc" doc="${xmlDoc}" />

<html><body>

<x:forEach select="$xdoc/sample/record"> ・・・ (1)
  <x:out select="key" /><br> ・・・ (2)
  <x:out select="value" /><br> ・・・ (2)
</x:forEach> ・・・ (1)

</body></html>

   (1) <sample>タグ内の<record>タグ情報を全て取得。
   (2) <record>タグ内の<key>タグと<value>タグの内容を出力する。
 
「sample.xml」の定義

<?xml version="1.0" encoding="Windows-31J"?>

<sample>

 <record>
   <key>キー1</key>
   <value>値1</value>
 </record>
 <record>
   <key>キー2</key>
   <value>値2</value>
 </record>
 <record>
   <key>キー3</key>
   <value>値3</value>
 </record>

</sample>


実行結果



例2) インデックス番号1からインデックス番号2になるまでループする。
     インデックス番号を表示する。

<%@ page language="java" contentType="text/html;charset=Windows-31J"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml"%>

<c:import var="xmlDoc" url="WEB-INF/sample.xml" charEncoding="Windows-31J" />

<x:parse var="xdoc" doc="${xmlDoc}" />

<html><body>

<x:forEach select="$xdoc/sample/record" begin="1" end="2" varStatus="status">
  <x:out select="key" /><br>
  <c:out value="${status.index}"/><br>
</x:forEach>

</body></html>


実行結果


スポンサード リンク

XMLタグの種類
XML文書を表示する(ディスク上のXML書)
XML文書を表示する(インターネット上のXML文書)
XML文書を解析する:<x:parse>
指定したXPath式で取得した値を、出力する:<x:out>
指定したXPath式で取得した値を、変数にセットする:<x:set>
指定したXPath式で取得した値を、繰り返し処理する:<x:forEach>
指定したXPath式で取得した値の、単一の条件分岐:<x:if>
指定したXPath式で取得した値の、複数の条件分岐:<x:choose><x:when><x:otherwise>
XML文書をXMLスタイルシートで変換する:<x:transform>

JSTLへ
忘れっぽいエンジニアのJakarta Strutsリファレンス TOPへ