<x:if>
xmlns:x="http://java.sun.com/jsp/jstl/xml"

SYNOPSIS

<x:if
select*="XPath"
var="変数名"
scope="page|request|session|application"
>
条件式が真の場合に評価する内容.
</x:if>

説 明

XPath による条件分岐を行います (または単に評価結果を変数へ格納します)。 select で指定した XPath が true となる場合はタグの内部が処理されます。

参照: <x:choose> 

属 性

select="XPath"
required

タグ内部を処理するかどうかを示す条件を XPath で記述します。

var="変数名"
optional

select で指定した XPath の評価結果を格納する変数名を指定します。この属性が指定された場合はタグ内は空にする必要があります。

scope="page|request|session|application"
optional
var で指定した変数のスコープです。 page, request, session, application のいずれかを指定することが出来ます。

内 容

条件式が真の場合に評価する内容。通常の JSP 書式で記述することができます。

使用例

/foo/bar のノードが 1 つ以上存在する場合に「こんにちは」と出力します (select 属性は暗黙的に XPath 関数の boolean() が適用されます)。
JSP
<c:set var="xmlsrc">
<?xml version="1.0"?>
<foo>
  <bar>hello, world</bar>
</foo>
</c:set>
<x:parse var="xml" doc="${xmlsrc}" />
<x:if select="$xml/foo/bar">こんにちは</x:if>
実行結果
こんにちは
以下のように /foo/bar のノードが存在しない XML に対しては何も出力されません。
JSP
<c:set var="xmlsrc">
<?xml version="1.0"?>
<foo>
  <hoge>hello, world</hoge>
</foo>
</c:set>
<x:parse var="xml" doc="${xmlsrc}" />
<x:if select="$xml/foo/bar">こんにちは</x:if>
CVS 2008/03/09