<x:if> Tag
The <x:if>
tag is used to evaluate the value of an XPath expression. If the value is true, it executes the content within its body; if false, the content of its body is ignored.
Syntax
<x:if
select="<string>"
var="<string>"
scope="<string>">
...
</x:if>
Attributes
The <x:if>
tag has the following attributes:
Attribute | Description | Required | Default Value |
---|---|---|---|
select | The XPath expression to be evaluated | Yes | None |
var | The variable to store the condition result | No | None |
scope | The scope of the var attribute | No | Page |
Example
The following example demonstrates how to use the <x:if>
tag:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
<html>
<head>
<title>JSTL x:if Tag</title>
</head>
<body>
<h3>Books Info:</h3>
<c:set var="xmltext">
<books>
<book>
<name>Padam History</name>
<author>ZARA</author>
<price>100</price>
</book>
<book>
<name>Great Mistry</name>
<author>NUHA</author>
<price>2000</price>
</book>
</books>
</c:set>
<x:parse xml="${xmltext}" var="output"/>
<x:if select="$output//book">
Document has at least one <book> element.
</x:if>
<br />
<x:if select="$output/books[1]/book/price > 100">
Book prices are very high
</x:if>
</body>
</html>
The output is as follows:
BOOKS INFO:
Document has at least one <book> element.
Book prices are very high