JSTL - XML <x:set> Tag

The <x:set> tag sets a variable to the value of an XPath expression.

If the XPath expression results in a boolean, <x:set> tag sets a java.lang.Boolean object; for a string, java.lang.String; and for a number, java.lang.Number.


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

Attribute Description Required Default
var A variable that is set to the value of the XPath expression Yes Body
select The XPath expression to be evaluated No None
scope Scope of the variable specified in the var attribute No Page


Following example will show how to use the <x:set> 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 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:set var = "fragment" select = "$output//book"/>
      <b>The price of the second book</b>: 
      <c:out value = "${fragment}" />

Access the above JSP, the following result will be displayed −

Books Info:

The price of the second book:[[book: null], [book: null]]