JSTL - XML <x:if> Tag


Advertisements


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.

Attribute

The <x:if> tag has the following attributes −

Attribute Description Required Default
select The XPath expression to be evaluated Yes None
var Name of the variable to store the condition's result No None
scope Scope of the variable specified in the var attribute No Page

Example

Following is an example that show the use of the <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" %>

<html>
   <head>
      <title>JSTL x:if Tags</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>

Let us now access the above JSP, the following result will be displayed −

Books Info:

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

jsp_standard_tag_library.htm

Advertisements