当前位置: 首页 > news >正文

用XML作sql和web应用的桥

onjava网站上介绍了一篇来自dev2dev的文章,XML as a Bridge between SQL and Web Applications。介绍了一个Oracle提供的工具Oracle XML-SQL Utility (XSU). ,使用该工具能够让你的sql操作很简单的以XML的格式返回。同时文章还介绍了在web应用中,如何使用这个工具取得数据,以及如何使用xsl和jsp taglib来显示xml数据。可以直接使用xsl来显示数据,还介绍了如何使用weblogic提供的一个xsl处理的jsp标签库Using the JSP Tag to Transfer XML Data 在jsp中转换xml数据。例子代码如下:
程序用xsu工具取得xml格式的数据后,直接使用xsl标签将数据转换成html。

1. <%@ taglib uri="xmlx.tld" prefix="x"%>

2. <HTML>
3. <HEAD>
4. <TITLE>:: An XML bridge ::</TITLE>
5. </HEAD>
6. <BODY>

7. <%@page import="java.sql.*"%>
8. <%@page import="oracle.xml.sql.query.*"%>
9. <%@page import="oracle.jdbc.*"%>

10. <%

11. String tableName = "emp";
12. int maxRows = 3;

13. Context ctx = new InitialContext ();
14. DataSource ds = (DataSource) ctx.lookup ("MyOra");

15. Connection conn = ds.getConnection ();

16. OracleXMLQuery qu = new OracleXMLQuery
(conn, "select EMPNO, ENAME from " + tableName);

17. qu.setMaxRows (maxRows);
18. qu.setRowsetTag ("EMPLOYERS");
19. qu.setRowTag ("PERSON");

20. String xmlString = qu.getXMLString ();

21. conn.close ();
22. %>

23. <x:xslt stylesheet="html.xsl">
24. <x:xml>
25. <%=xmlString%>
26. </x:xml>
27. </x:xslt>

28. </BODY>
29. </HTML>

原文参见:http://dev2dev.bea.com/pub/a/2005/06/xml_bridge.html


<!-- google_ad_client = "pub-4465827781731051"; google_ad_width = 234; google_ad_height = 60; google_ad_format = "234x60_as"; google_ad_type = "text_image"; google_ad_channel =""; //--> <iframe name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-4465827781731051&amp;dt=1126778556703&amp;format=234x60_as&amp;output=html&amp;ad_type=text_image&amp;nloc=http://blog.csdn.net/fckeditor/editor/fckeditor.html?InstanceName=Editor_Edit_FCKEditor&amp;Toolbar=Default&amp;u_h=768&amp;u_w=1024&amp;u_ah=740&amp;u_aw=1024&amp;u_cd=32&amp;u_tz=480&amp;u_his=16&amp;u_java=true" frameborder="0" width="234" scrolling="no" height="60" allowtransparency="65535"></iframe>

相关文章:

  • 梅林安装opkg后安装iperf3_压滤机安装时需要注意的事项和安装后调试
  • 使用VSS-本地练习最基本的用法
  • 操作excel方便么_如何免费将Excel转PDF?
  • QQ斗地主记牌器主程序脱壳并解除使用次数限制
  • 《rust腐蚀》建服视频教学_二年级上册语文识字4田家四季歌朗读+视频+知识点+图文解读+练习...
  • 今天玩得很开心
  • jedispool redis哨兵_应用 | Redis实现 主从,单例,集群,哨兵,配置应用
  • CsvJdbc - Java 访问csv 文件的的JDBC驱动
  • restapi如何传图片_没有网络,电脑如何传文件给手机?
  • 男人必看得5个故事
  • python词云图代码示例 无jieba_python中实现词云图的示例
  • 免费的在线电影
  • 权重矩阵最小路径_最短路径和矩阵乘法
  • RUNA WFE,workflow environment based on JBoss' JBPM engine
  • 版电力系统故障录波_【分享】故障录波之图形分析
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • Git的一些常用操作
  • Java IO学习笔记一
  • Javascript编码规范
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • mysql innodb 索引使用指南
  • spring security oauth2 password授权模式
  • SpringBoot 实战 (三) | 配置文件详解
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • vue 个人积累(使用工具,组件)
  • 笨办法学C 练习34:动态数组
  • - 概述 - 《设计模式(极简c++版)》
  • 记一次删除Git记录中的大文件的过程
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 面试遇到的一些题
  • 普通函数和构造函数的区别
  • 前端面试总结(at, md)
  • 如何进阶一名有竞争力的程序员?
  • 实现菜单下拉伸展折叠效果demo
  • 世界上最简单的无等待算法(getAndIncrement)
  • 通过git安装npm私有模块
  • 消息队列系列二(IOT中消息队列的应用)
  • 学习使用ExpressJS 4.0中的新Router
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • 06-01 点餐小程序前台界面搭建
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (27)4.8 习题课
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (五)关系数据库标准语言SQL
  • (一)插入排序
  • (转)视频码率,帧率和分辨率的联系与区别
  • .Net CoreRabbitMQ消息存储可靠机制
  • .net framework4与其client profile版本的区别