Jsp結合XML XSLT將輸出轉換為Html格式

2021-05-27 10:50:52 字數 2850 閱讀 1182

xstl即可可擴充套件的樣式表轉換語言

可採用xslt技術將xml結構的資料轉換為html頁面的**。

jakarta.apache.org

提供的有三個關鍵包:

xerces.jar

xalan.jar

xsl.jar

我們知道 xml+xslt就可以直接輸出到支援xml的瀏覽器上,如ie 5.0以上,但是,我們還要考慮到有不少瀏覽器不直接支援xml,在這種情況下,我們需要在伺服器上進行轉換成html輸出到瀏覽器,這種臨時過渡辦法恐怕要在一段時間內一直要使用.   使用jsp 加上tablib標識庫,我們可以完成這種轉換。

著名open source專案組jakarta.apache.org推出的系列標識庫中,就有這個功能的tanglib:

按照jakarta配置方法,有點繁瑣,需要修改或定義web.xml,本人經過摸索,使用下列相當簡單的辦法,就可以使jsp能成功執行xsl這個標識庫了。

xsl標識庫有三個關鍵包:

xerces.jar 可以在中得到

xalan.jar 可以在中得到

xsl.jar 從得到

1.將這三個包放置到tomcat的common/lib目錄下,或者直接放入classpath環境中。

2.在jsp中呼叫標識庫:

<%@taglib uri="" prefix="xsl" %>

這就需要在/web-inf/web.xml下定義一下指向。如:

<taglib>

<taglib-uri></taglib-uri>

<taglib-location>/web-inf/xsl.tld</taglib-location>

</taglib>

這種做法雖然很標準,但是,如果你的容器一直使用tomcat,就完全不必了。

我們的做法是:

<%@taglib uri="xsl.jar" prefix="xsl" %> 

<%@taglib uri="xsl.jar" prefix="xsl" %>

<html>

<head>

<title>employee list</title>

</head>

<body bgcolor="white">

<p>下面是使用已經存在employeelist.xsl 然後在jsp中自己直接寫入xml資料.

<p>下面使使用include呼叫的辦法,這樣乙個xslt樣式可以適應不同的xml檔案。

<p>下面是使用import方法,在page-scope(類似scope="page")中匯入xml檔案</p>

</body>

在上面程式中,展示了四種jsp組合xml xslt的方法,基本可以滿足我們的需要。注意上面的xml檔案路徑是"/xml/",這是相對tomcat容器的絕對路徑。

我們簡單看一下employeelist.xsl和employees.xml內容:

employeelist.xsl類似html中的css,主要是對xml中資料顯示方式進行定義:

<?xml version="1.0"?>

<xsl:stylesheet version="1.0" xmlns:xsl="">

<xsl:template match="employees">

<table border="1" width="100%">

<tr>

<th>id</th>

<th>employee name</th>

<th>phone number</th>

</tr>

<xsl:for-each select="employee">

<tr>

<td>

<xsl:value-of select="@id"/>

</td>

<td>

<xsl:value-of select="last-name"/>,

<xsl:value-of select="first-name"/>

</td>

<td>

<xsl:value-of select="telephone"/>

</td>

</tr>

</xsl:for-each>

</table>

</xsl:template>

</xsl:stylesheet>

employees.xml

<?xml version="1.0" encoding="iso-8859-1"?>

<employees>

<employee id="123">

<first-name>john</first-name>

<last-name>doe</last-name>

<telephone>800-555-1212</telephone>

</employee>

<employee id="456">

<first-name>jane</first-name>

<last-name>smith</last-name>

<telephone>888-555-1212</telephone>

</employee>

<employee id="789">

<first-name>george</first-name>

<last-name>taylor</last-name>

<telephone>555-555-1212</telephone>

</employee>

</employees>

如果我們在employees.xml頂部加入:

<?xml:stylesheet type="text/xsl" href="catalog.xsl"?> 

資料引用:

JSP結合XML XSLT將輸出轉換HTML

jsp結合xml xslt將輸出轉換html。我們知道 xml xslt就可以直接輸出到支援xml的瀏覽器上,如ie 5.0以上,但是,我們還要考慮到有不少瀏覽器不直接支援xml,在這種情況下,我們需要在伺服器上進行轉換成html輸出到瀏覽器,這種臨時過渡辦法恐怕要在一段時間內一直要使用.使用jsp...

JSP結合XML XSLT將輸出轉換HTML

我們知道 xml xslt就可以直接輸出到支援xml的瀏覽器上,如ie 5.0以上,但是,我們還要考慮到有不少瀏覽器不直接支援xml,在這種情況下,我們需要在伺服器上進行轉換成html輸出到瀏覽器,這種臨時過渡辦法恐怕要在一段時間內一直要使用.使用jsp 加上tablib標識庫,我們可以完成這種轉換...

JSP結合XML XSLT將輸出轉換HTML

參考 我們知道 xml xslt就可以直接輸出到支援xml的瀏覽器上,如ie 5.0以上,但是,我們還要考慮到有不少瀏覽器不直接支援xml,在這種情況下,我們需要在伺服器上進行轉換成html輸出到瀏覽器,這種臨時過渡辦法恐怕要在一段時間內一直要使用.使用jsp 加上tablib標識庫,我們可以完成這...