JSP笔记-XML 数据处理
JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。 |
当通过HTTP发送XML数据时,就有必要使用JSP来处理传入和流出的XML文档了,比如RSS文档。作为一个XML文档,它仅仅只是一堆文本而已,使用JSP创建XML文档并不比创建一个HTML文档难。
使用JSP发送XML
使用JSP发送XML内容就和发送HTML内容一样。唯一的不同就是您需要把页面的context属性设置为text/xml。要设置context属性,使用<%@page % >命令,就像这样:
<%@ page contentType="text/xml" %>
接下来这个例子向浏览器发送XML内容:
<%@ page contentType="text/xml" %><books><book><name>Padam History</name><author>ZARA</author><price>100</price></book> </books>
使用不同的浏览器来访问这个例子,看看这个例子所呈现的文档树。
在JSP中处理XML
在使用JSP处理XML之前,您需要将与XML 和XPath相关的两个库文件放在<Tomcat Installation Directory>\lib目录下:
books.xml文件:
<books> <book><name>Padam History</name><author>ZARA</author><price>100</price> </book> <book><name>Great Mistry</name><author>NUHA</author><price>2000</price> </book> </books>
main.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" %><html> <head><title>JSTL x:parse Tags</title> </head> <body> <h3>Books Info:</h3> <c:import var="bookInfo" url="http://localhost:8080/books.xml"/><x:parse xml="${bookInfo}" var="output"/> <b>The title of the first book is</b>: <x:out select="$output/books/book[1]/name" /> <br> <b>The price of the second book</b>: <x:out select="$output/books/book[2]/price" /></body> </html>
访问http://localhost:8080/main.jsp,运行结果如下:
BOOKS INFO: The title of the first book is:Padam History The price of the second book: 2000
使用JSP格式化XML
这个是XSLT样式表style.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:template match="/"><html><body><xsl:apply-templates/></body></html> </xsl:template><xsl:template match="books"><table border="1" width="100%"><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>
这个是main.jsp文件:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %><html> <head><title>JSTL x:transform Tags</title> </head> <body> <h3>Books Info:</h3> <c:set var="xmltext"><books><book><name>Padam History</name><author>ZARA</author><price>100</price></book><book><name>Great Mistry</name><author>NUHA</author><price>2000</price></book></books> </c:set><c:import url="http://localhost:8080/style.xsl" var="xslt"/> <x:transform xml="${xmltext}" xslt="${xslt}"/></body> </html>
JSP笔记-XML 数据处理相关推荐
- JSP XML数据处理
JSP XML数据处理 当通过HTTP发送XML数据时,就有必要使用JSP来处理传入和流出的XML文档了,比如RSS文档.作为一个XML文档, 它仅仅只是一堆文本而已,使用JSP创建XML文档并不比创 ...
- kaggle实战笔记_1.数据处理
kaggle实战笔记_1.数据处理 数据处理的重要性比模型更重要 如果正负样本是1:100的话,直接拿去做建模,问题是非常大的,如果其评判标准为accuracy的话,如果把任何一个样本都判定为负样本的 ...
- Java开发笔记XML报文的解析
Java开发笔记XML报文的解析 前言 正文 代码示例 结语 前言 项目任务里需要解析xml报文. 于是开始着手学习相关知识,在查看了多篇博文后找到了一篇不错的,讲的很实用. 转载来源:Java开发笔 ...
- JSP~~JSTL~~XML标签库
XML 提供了非常灵活的方式来表示结构化的数据,可以创建自己的标记来识别数据,不仅仅人可以看懂,而且计算机也可以读懂.并且 XML 可以在不兼容的系统之间进行数据的交换,所以 XML 必定将称为最普遍 ...
- Nodejs 爬虫小计(内容包含CDADA,xml数据处理,charset内容转码)
一.爬虫逻辑一个基础插件工具 1.爬虫逻辑(自我总结,不代表正规概念) (1)直接获取接口数据,大多数接口是有权限控制,接口数据风险较大,但是数据是最完整的,数据处理也是相对简单的. (1-1)基础工 ...
- JSP笔记-文件上传
JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准.JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTM ...
- JSP笔记-JavaBean
JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准.JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTM ...
- JSP笔记-页面重定向
JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准.JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTM ...
- JSP笔记-发送邮件
JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准.JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTM ...
最新文章
- 文件操作(ifstream、ofstream、fstream)
- 使用Docx4j操作PPT指南系列(附一)
- 智能车竞赛B车模车轮毂断裂原因所在
- 2021年春季学期-信号与系统-第三次作业参考答案-第五道题
- Day 13 老师应该要让课堂有趣吗
- 2.3. 实体(Core Data 应用程序实践指南)
- 提升方法---提升树
- Bech32编码 (2)原理
- 数字化转型升级,人才战略是核心
- 如何取得用户参数文件中的parameters
- KindEditor上传的图片显示在jsp页面上时调整布局
- JUnit和Hamcrest:在assertEquals上进行改进
- XEN--转载自鸟哥的linux私房菜
- 【POJ - 2533】Longest Ordered Subsequence(四种方法解决最长上升子序列 含二分优化版本)
- 重新一步一步学习Lucene.NET 一个简单的程序开始(1)
- 图像分割matlab阈值自动计算,图像分割的阈值算法matlab实现.doc
- 三、EasyExcel实现数据填充
- 迅捷路由器造成计算机无法上网,迅捷fw325r路由器不能上网(连不上网)怎么办?...
- 【Auto.JS】Autojs官方提取文档使用说明函数 (1)
- 重温线性代数(1)——线性组合
热门文章
- 自然语言处理(NLP)之pyltp的介绍与使用(中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注)
- 自然语言处理(NLP)之用深度学习实现命名实体识别(NER)
- 汇编语言 第3版 王爽 检测点习题部分—答案及详细解析
- 若显示器接口电路中的刷新存储器容量为1MB,当采用800*600的分辨率模式时,每个像素最多可以有多少()种颜色
- 我的matlab5个车牌_顶帽_底帽_边缘_腐蚀
- 如何在超大分辨率的图片中检测目标?
- 实战:车牌识别之车牌定位
- 堆、栈、方法区、静态代码块---Java
- LaTex in Markdown
- [分享] 从定制Win7母盘到封装详细教程 By BILL ( 10月23日补充说明 )