jstl <x:set>標籤

2019-10-16 22:12:36

<x:set>標籤將一個變數設定為XPath表示式的值。

如果XPath表示式結果是一個布林值,則<x:set>標籤設定一個java.lang.Boolean物件; 對於一個字串設定為java.lang.String;型別, 對於一個數位設定為java.lang.Number

屬性

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

屬性 描述 必需 預設
var 包含解析的XML資料的變數 主體
select 要評估的XPath表示式
scope var屬性中指定的變數的範圍 page

範例

以下範例將顯示如何使用<x:set>標籤,編寫一個JSP檔案:xml_set.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:set標籤範例</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>Chetan Bhagat</author>  
              <price>100</price>  
            </book>  
            <book>  
              <name>Tomorrow land</name>  
              <author>Brad Bird</author>  
              <price>1200</price>  
            </book>  
            </books> 
        </c:set>

        <x:parse xml="${xmltext}" var="output" />
        <x:set var="fragment" select="$output/books/book[1]/name" />
        <b>第一本書的名稱是</b>:
        <x:out select="$fragment" /> <br/>
        <x:set var="fragment2" select="$output/books/book[2]/price" />
        <b>第二本書的價格是</b>:
        <x:out select="$fragment2" /> 
    </div>
</body>
</html>

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