JSTL XML <x:if> Tag


The <x:if> tag evaluates a test XPath expression and if it is true, it processes its body. If the test condition is false, the body is ignored.


The <x:if> tag has following attributes:

AttributeDescription RequiredDefault
selectThe XPath expression to be evaluatedYesNone
varName of the variable to store the condition's resultNoNone
scopeScope of the variable specified in the var attributeNoPage


Following is an example to show you usage of <x:if> tag:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>

  <title>JSTL x:if Tags</title>
<h3>Books Info:</h3>

<c:set var="xmltext">
      <name>Padam History</name>
      <name>Great Mistry</name>

<x:parse xml="${xmltext}" var="output"/>

<x:if select="$output//book">
   Document has at least one <book> element.
<br />
<x:if select="$output/books[1]/book/price > 100">
   Book prices are very high


Now let us try to access above JSP, this would produce following result:

Books Info:

Document has at least one <book> element.
Book prices are very high