JSTL XML <x:set> Tag

Advertisements


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

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

Attribute:

The <x:set> tag has following attributes:

AttributeDescription RequiredDefault
varA variable that is set to the value of the XPath expressionYesBody
selectThe XPath expression to be evaluatedNoNone
scopeScope of the variable specified in the var attributeNoPage

Example:

Following example to show you a usage of <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" %>

<html>
<head>
  <title>JSTL 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:set var="fragment" select="$output//book"/>
<b>The price of the second book</b>: 
<c:out value="${fragment}" />
</body>
</html>

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

Books Info:

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


Advertisements
Advertisements