jstl <x:param>標籤

2019-10-16 22:12:44

<x:param>標籤與<x:transform>標籤一起使用,以在XSLT樣式表中設定引數。

屬性

<x:param>標籤具有以下屬性 -

屬性 描述 必需 預設
name 要設定的XSLT引數的名稱 主體
value 要設定的XSLT引數的值

範例

假設有以下XSLT樣式表檔案:style1.xsl ,請注意使用<xsl:param ...>標籤和變數{$bgColor} -

檔案:style1.xsl

<?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>

考慮以下JSP檔案,使用<x:transform>標籤中的<x:param>標籤來定義bgColor的值,
以下範例將顯示如何使用<x:param>標籤,編寫一個JSP檔案:xml_param.jsp 如下所示:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>jstl xml:param 標籤範例</title>
</head>
<body>
    <div style="margin: auto; width: 90%">
        <h3>圖書資訊:</h3>

        <c:set var="xmltext">
        <books>  
            <book>  
              <name>Three mistakes of my life</name>  
              <author>Newsu</author>  
              <price>20</price>  
            </book>  
            <book>  
              <name>Tomorrow land</name>  
              <author>Bird</author>  
              <price>190</price>  
            </book>  
            </books> 
        </c:set>

     <c:import url = "http://localhost:8080/jstl/style1.xsl" var = "xslt"/>
      <x:transform xml = "${xmltext}" xslt = "${xslt}">
         <x:param name = "bgColor" value = "blue"/>
      </x:transform>
     </div>
</body>
</html>

執行上述專案程式碼,得到以下結果如下 -