知识大全 Jsp结合XML+XSLT将输出转换为Html格式

Posted

篇首语:百日连阴雨,总有一朝晴。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Jsp结合XML+XSLT将输出转换为Html格式相关的知识,希望对你有一定的参考价值。

Jsp结合XML+XSLT将输出转换为Html格式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  我们知道 xml+XSLT就可以直接输出到支持XML的浏览器上 如IE 以上 但是 我们还要考虑到有不少浏览器不直接支持XML 在这种情况下 我们需要在服务器上进行转换成输出到浏览器 这种临时过渡办法恐怕要在一段时间内一直要使用   使用jsp 加上tablib标识库 我们可以完成这种转换

  著名open source项目组jakarta apache 推出的系列标识库中 就有这个功能的tanglib:

  按照jakarta配置方法 有点繁琐 需要修改或定义Web xml 本人经过摸索 使用下列相当简单的办法 就可以使Jsp能成功运行XSL这个标识库了

  xsl标识库有三个关键包: xerces jar 可以在中得到 xalan jar 可以在中得到 xsl jar 从得到

   将这三个包放置到Tomcat的mon/lib目录下 或者直接放入Classpath环境中

   在JSP中调用标识库

  原来Jakarta推荐方法是

   <%@taglib uri="%>

  这就需要在/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" %> 

  我们以Jakarta的XSL taglib附带的Apply jsp为例 正好了解一下Jsp XML XSLT三者之间的关系

  Apply jsp

   <%@taglib uri="xsl jar" prefix="xsl" %> <> <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=" " encoding="ISO "?> <employees> <employee id=" "> <first name>John</first name> <last name>Doe</last name> <telephone> </telephone> </employee> <employee id=" "> <first name>Jane</first name> <last name>Smith</last name> <telephone> </telephone> </employee> <employee id=" "> <first name>Gee</first name> <last name>Taylor</last name> <telephone> </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类似中的CSS 主要是对XML中数据显示方式进行定义

  <?xml version=" "?> <xsl:stylesheet version=" " xmlns:xsl="> <xsl:template match="employees"> <table border= width= %> <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=" " encoding="ISO "?>

   <employees> <employee id=" "> <first name>John</first name> <last name>Doe</last name> <telephone> </telephone> </employee>

  <employee id=" "> <first name>Jane</first name> <last name>Smith</last name> <telephone> </telephone> </employee>

  <employee id=" "> <first name>Gee</first name> <last name>Taylor</last name> <telephone> </telephone> </employee> </employees>  

  如果我们在employees xml顶部加入

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

cha138/Article/program/Java/JSP/201311/20458

相关参考

知识大全 利用 XSLT 对 XML 进行缩进格式化处理

利用XSLT对XML进行缩进格式化处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在CSDN

知识大全 如何使用Javascript XSLT 处理XML文件

如何使用JavascriptXSLT处理XML文件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 XML与HTML的结合用法二

XML与HTML的结合用法二  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  XML的嵌套处理  

知识大全 将Asp.net页面输出为HTML

将Asp.net页面输出为HTML  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  c#代码:  

知识大全 php 将 HTML 转换成文本

php将HTML转换成文本  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!cha138/A

知识大全 ASP.NET 2.0中XSLT的使用

ASP.NET2.0中XSLT的使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在中对XML

知识大全 输出枚举数据时需要将其转换为整型

代码    enum myInclude//定义枚举        &

知识大全 解决JSP中拼装数据为XML出现的问题

解决JSP中拼装数据为XML出现的问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一应用背景

知识大全 JSP与XML的交互有哪些

JSP与XML的交互有哪些  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  使用JavaServe

知识大全 Struts, JSP和XML解析三个问题

Struts,JSP和XML解析三个问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!struts