大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> JSP专区 -> Jsp结合XML+XSLT将输出转换为Html格式

Jsp结合XML+XSLT将输出转换为Html格式

时间: 2021-07-31 作者:daque

咱们领会 xml+xslt就不妨径直输入到扶助xml的欣赏器上,如ie 5.0之上,然而,咱们还要商量到有不少欣赏器不径直扶助xml,在这种情景下,咱们须要在效劳器长进行变换成html输入到欣赏器,这种偶尔过度方法害怕要在一段功夫内从来要运用.   运用jsp 加上tablib标识库,咱们不妨实行这种变换。

  驰名open source名目组jakarta.apache.org推出的系列标识库中,就有这个功效的tanglib:http://jakarta.apache.org/taglibs/doc/xsl-doc/intro.html

  依照jakarta摆设本领,有点烦琐,须要窜改或设置web.xml,自己过程探求,运用下列十分大略的方法,就不妨使jsp能胜利运转xsl这个标识库了。

  xsl标识库有三个要害包:   xerces.jar 不妨在http://xml.apache.org/中获得   xalan.jar 不妨在http://xml.apache.org/中获得   xsl.jar 从http://jakarta.apache.org/taglibs/doc/xsl-doc/intro.html获得

  1.将这三个包安置到tomcat的common/lib目次下,大概径直放入classpath情况中。

  2.在javascript/" target="_blank">jsp中挪用标识库:

  从来jakarta引荐本领是:

<%@taglib uri="http://jakarta.apache.org/taglibs/xsl-1.0" prefix="xsl" %>

  这就须要在/web-inf/web.xml下设置一下http://jakarta.apache.org/taglibs/xsl-1.0指向。如:

<taglib><taglib-uri>http://jakarta.apache.org/taglibs/xsl-1.0</taglib-uri><taglib-location>/web-inf/xsl.tld</taglib-location></taglib>

  这种做法固然很规范,然而,即使你的容器从来运用tomcat,就实足不用了。

  咱们的做法是:

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

  咱们以jakarta的xsl taglib附带的apply.jsp为例,凑巧领会一下jsp xml xslt三者之间的联系:  apply.jsp

<%@taglib uri="xsl.jar" prefix="xsl" %> <html><head><title>employee list</title></head><body bgcolor="white">

<p>底下展现了jsp的四种拉拢xml xslt的本领:<p>底下运用apply本领,将仍旧生存的employees.xml和employeelist.xsl贯串在一道

<xsl:apply xml="/xml/employees.xml" xsl="/xml/employeelist.xsl"/><hr>

<p>底下是运用仍旧生存employeelist.xsl 而后在jsp中本人径直写入xml数据.

<xsl:apply xsl="/xml/employeelist.xsl"><?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></xsl:apply><hr>

<p>底下使运用include挪用的方法,如许一个xslt款式不妨符合各别的xml文献。

<xsl:apply xsl="/xml/employeelist.xsl"><xsl:include page="/xml/employees.xml"/></xsl:apply><hr>

<p>底下是运用import本领,在page-scope(一致scope="page")中导出xml文献</p>

<xsl:import id="data" page="/xml/employees.xml"/><xsl:apply namexml="data" xsl="/xml/employeelist.xsl"/>

</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="http://www.w3.org/1999/xsl/transform"> <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"?>

  用扶助xml的ie 5.0之上欣赏器挪用,其表露页面就和apply.jsp表露页面是一律的。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.