JSTL - Tag XML <x: param>

Il <x:param> tag viene utilizzato insieme al tag di trasformazione per impostare un parametro nel foglio di stile XSLT

Attributo

Il <x:param> tag ha i seguenti attributi:

Attributo Descrizione necessario Predefinito
nome Nome del parametro XSLT da impostare Corpo
Valore Valore del parametro XSLT da impostare No Nessuna

Esempio

Considera il seguente foglio di stile XSLT style.xsl. Nota l'uso di<xsl:param...> tag e una variabile {$bgColor} -

<?xml version = "1.0"?>
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0">

<xsl:output method = "html" indent = "yes"/>
<xsl:param name = "bgColor"/>

   <xsl:template match = "/">
      <html>
         <body>
            <xsl:apply-templates/>
         </body>
      </html>
   </xsl:template>

   <xsl:template match = "books">
      <table border = "1" width = "50%" bgColor = "{$bgColor}">
         <xsl:for-each select = "book">
            <tr>
               <td><i><xsl:value-of select = "name"/></i></td>
               <td><xsl:value-of select = "author"/></td>
               <td><xsl:value-of select = "price"/></td>
            </tr>
         </xsl:for-each>
      </table>
   </xsl:template>
   
</xsl:stylesheet>

Considera il seguente file JSP in cui definiamo il valore di bgColor usando il <x:param> tag all'interno del <x:transform> 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:transform 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>

      <c:import url = "http://localhost:8080/style.xsl" var = "xslt"/>
      <x:transform xml = "${xmltext}" xslt = "${xslt}">
         <x:param name = "bgColor" value = "grey"/>
      </x:transform>

   </body>
</html>

Riceverai il seguente risultato:

Books Info:

Padam History ZARA 100
Great Mistry NUHA 2000