JSTL XPath

XPath 変数

JSTL の XML ライブラリでは $ を付ける事で変数を参照 することができます。<x:parse><x:set> で定義した変数に加えて、いくつかの暗黙変数が使用できます。

$foo pageContext.findAttribute("foo")
$param:foo request.getParameter("foo")
$header:foo request.getHeader("foo")
$cookie:foo Cookie の中で名前に "foo" を持つもの
$pageScope:foo pageContext.getAttribute("foo", PageContext.PAGE_SCOPE)
$requestScope:foo pageContext.getAttribute("foo", PageContext.REQUEST_SCOPE)
$sessionScope:foo pageContext.getAttribute("foo", PageContext.SESSION_SCOPE)
$applicationScope:foo pageContext.getAttribute("foo", PageContext.APPLICATION_SCOPE)

以下の例はリクエストパラメータ id と一致する製品情報の要素を 変数に格納しています。

<x:set var="product" select="$xml/catalogue/product[@id=$param:id]" />

XPath 型変換

XPath の型は

XPath Java
boolean java.lang.Boolean
number java.lang.Number
string java.lang.String