- 浏览: 50466 次
- 性别:
- 来自: 成都
最新评论
-
yaoyqsz:
connector.setPort(9999); ----& ...
jetty的使用 -
长夜慢慢:
很有帮助,辛苦了!!!
java web.xml listener filter servlet
附两个以下用到的xml文档: <XML id="stuData" src="DsoData.xml"></XML> 可要记住它的id,这个id是可以自定义的,它是在javascript中操作的标示,有点类似与asp.net的服务器控件啊。 3.如果你只想当在html中激发某个事件时才加载xml数据,那么你首先需要在html中放置一个DSO的容器,以便用来存放xml数据。 <object id="ClassData" CLASSID="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39" 这里这个id的意义和上面的一样。如果要加载多个xml,那么你就要放置多个这样的标签。 5.怎么把这些数据源中的数据展示到html中呢? a.绑定到table中,请看下面的代码: 这里大家重点关注以下两个标签: 一个是datasrc,它表明该table使用哪个数据源,后面是"#stuData",这个#是一个标示,后面呢则是<XML id="stuData" 中的id,表明table用的是这个数据源。而datafld表明它绑定的是xml文档中元素名。如果遇到属性名和子元素名一样的情况,在元素名前加上“!”进行区分。 绑定的方法类似,关键是指定以上两个属性。 6.仅仅是只能绑定,肯定是不够灵活的,而javascript确可以让我们灵活的展现它们。因为DSO是一个类似于recordset的对象,那么它就有: · moveNext(): 指向后一个数据项。 · movePrevious(): 指向前一个数据项。 · moveFirst(): 指向第一个数据项。 · moveLast(): 指向最后一个数据项。 · EOF: 这个属性用来检测我们是否已经到达数据记录的底部。 具体的操作代码如下: var theSet = ClassData.recordset; 那么在html中绑定了数据的非table标签,如单独的span标签,那么就会随着moveNext而变化,在这点上,table就像asp.net中的gridView,而只绑定单值的就是detailView。这时候你一不小心,还以为是和服务器在交互呢。 除此之外,还能使用变量对这个recordset中的值取出,如: var theName = theSet("name"); 当然你也可以通过: document.getElementById("###").innerHTML=theSet("name"); 显示到指定的位置。 还有获取记录集中的个数: 7.还可以对记录集进行快速查询、排序、编辑等操作。还有对这个recordset中的记录进行增加删除修改,也是同样有效的。只是你别期望能修改xml文件,原因就不用我讲了。这些具体操作的办法和asp中的recordset对象都是相似的。 8.对于xml+DSO,其实我们可以把它看作是一个分布式的离线数据库,可以首先一次性从服务器端下载客户端操作所需的xml数据,然后通过DSO进行操作,这中间的业务便不需要与服务器端交互了,而是等都操作完毕了,再可以一次性提交到服务器端。这就有点像.net中的dataset了。不过这个暂时只是我的一个想法,存在的问题肯定也是有的。html中的数据岛:利用DSO和javascript在html中动态加载和浏览xml数据
1.DSO也叫做数据源对象,IE 4.0引入了DSO,在IE 5.0对DSO技术进行很大的扩展。以往如果数据是通过SQL语言对数据库进行查询得到的结果,那么就把它们存放在ADO(ActiveX Data Objects)记录集中。服务器把这种ActiveX控件(通常是ADO记录集)发送到客户端,由客户端脚本程序做进一步的处理。实际上,IE 5.0就是把XML数据岛作为一种特殊的ADO记录集进行处理的。在这里,你把它想像成数据库,而IE则是与数据库联系的客户端。或许大家还记得asp中的recordset,那么在这里DSO对象也是一个recordset,只不过它不在服务器脚本中操作,而是在javascript中操作。
<students>
<stu>
<name>张三</name>
<age>15</age>
<class>1班</class>
</stu>
<stu>
<name>李四</name>
<age>14</age>
<class>1班</class>
</stu>
<stu>
<name>王五</name>
<age>14</age>
<class>1班</class>
</stu>
<stu>
<name>刘六</name>
<age>15</age>
<class>2班</class>
</stu>
<stu>
<name>小明</name>
<age>15</age>
<class>2班</class>
</stu>
</students>
b.ClassData.xml
<classes>
<class>
<id>1</id>
<name>一班</name>
</class>
<class>
<id>2</id>
<name>二班</name>
</class>
<class>
<id>3</id>
<name>三班</name>
</class>
</classes>
2.如果是一打开html页面就把xml当作数据源加载的话,那么就直接在代码中嵌入以下标签就可以了。
width="0" height="0"></object>
function loadXml2Dso()
{
xmlDoc = ClassData.XMLDocument;
xmlDoc.load("ClassData.xml");
}
注意这个ClassData.XMLDocument的ClassData实际上是前面放置的标签<object id="ClassData" 中的id。这和asp.net的服务器控件多么像。
<caption>
学生数据
</caption>
<thead>
<tr>
<th scope="col">姓名</th>
<th scope="col">年龄</th>
<th scope="col">班级</th>
</tr>
</thead>
<tbody>
<tr>
<td><span datafld="name"></span></td>
<td><span datafld="age"></span></td>
<td><span datafld="class"></span></td>
</tr>
</tbody>
</table>
datasrc="#stuData"
datafld="name"
b.除了绑定到table中,还可以绑定到许多标签中,如A、APPLET、BUTTON、DIV、FRAME、IFRAME、 IMG、INPUT (此处类型是:CHECKBOX、HIDDEN、 LABEL、PASSWORD、RADIO和TEXT)、LABEL、 MARQUEE、SELECT、SPAN、TABLE和 TEXTAREA。
theSet.moveNext();
var count = theSet.RecordCount ;
附:完整html中的代码
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<!-- Author:hongjuesir@gmail.com Share happily !-->
<title>DSO示例</title>
</head>
<script language="javascript">
var xmlDoc;
function loadXml2Dso()
{
xmlDoc = ClassData.XMLDocument;
xmlDoc.load("ClassData.xml");
}
function moveDso()
{
var theSet = ClassData.recordset;
theSet.moveNext();
/*· movePrevious(): 指向前一个数据项。
· moveFirst(): 指向第一个数据项。
· moveLast(): 指向最后一个数据项。
· EOF: 这个属性用来检测我们是否已经到达数据记录的底部。*/
}
</script>
<XML id="stuData" src="DsoData.xml"></XML>
<object id="ClassData" CLASSID="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39"
width="0" height="0"></object>
<body>
<table width="80%" datasrc="#stuData" border="1" cellspacing="0" cellpadding="0">
<caption>
学生数据
</caption>
<thead>
<tr>
<th scope="col">姓名</th>
<th scope="col">年龄</th>
<th scope="col">班级</th>
</tr>
</thead>
<tbody>
<tr>
<td><span datafld="name"></span></td>
<td><span datafld="age"></span></td>
<td><span datafld="class"></span></td>
</tr>
</tbody>
</table>
<p>
<label>获取班级xml到Dso并绑定到table
<input type="submit" name="Submit" value="获取" onclick="loadXml2Dso();" />
</label>
</p>
<table datasrc="#ClassData" border="1">
<tr>
<td><input type="text" datafld="id" /></td>
<td><span datafld="name"></span></td>
</tr>
</table>
<p>
<label>移动DSO的RecordSet
<input type="submit" name="Submit" value="移动" onclick="moveDso();" />
</label>
</p>
<div>
<span datasrc="#ClassData" datafld="id" style="margin-right:20px; background-color:#0099FF"></span>
<span datasrc="#ClassData" datafld="name" style="background-color:#99CC00"></span>
</div>
</body>
</html>
发表评论
-
MongoDB安装
2013-01-05 11:02 754MongoDB安装 MongoDB ... -
jetty的使用
2012-11-09 14:28 15173jetty的使用 ... -
SpringMVC + spring3.1.1 + hibernate4.1.0 集成及常见问题总结
2012-09-16 23:19 927一 开发环境 1、动态web工程 2、部分依赖 ... -
Java之IO流学习总结 (转载备忘)
2012-08-03 13:12 546转载自:http://88889999.iteye.com/b ... -
SpringMVC + spring3.1.1 + hibernate4.1.0 集成及常见问题总结 (转载备忘用)
2012-06-18 22:39 995SpringMVC + spring3.1.1 + hiber ... -
jQuery.extend 函数详解
2012-04-14 11:31 891JQuery的extend扩展方法: Jque ... -
eclipse插件——jinto 资源配置文件 properties 编辑插件
2012-03-15 13:47 1887eclipse插件——jinto 资源配置文件 propert ... -
JAVA 注解示例 详解
2012-02-29 13:55 977JAVA 注解示例 详解 注解(Annotation) ... -
Spring注解讲解
2012-02-29 13:19 828Spring注解讲解 1. 使用Spring注解来注入属性 ... -
JSTL标签备忘
2012-02-27 14:50 763JSTL标签用法 JSP 标准标记库( Sta ... -
EL表达式详解(转载文档)
2012-02-23 16:46 1099EL表达式 1、EL简介1)语法结构 $ ... -
EL表达式 (转载)
2012-02-23 16:42 854EL表达式 2009-03-27 ... -
struts2 2.3.1.1启动异常原因
2012-02-15 13:53 1240Exception starting filter str ... -
java web.xml listener filter servlet
2011-03-24 20:08 1509jsp开发中的 监听器和过滤器,这两个东西要说起来,很大,很繁 ... -
Java Annotation详解
2011-03-03 11:55 4793元数据的作用 如果要对于元数据的作用进行分类,目前还没有 ... -
oracle在SQLPLUS 和PLSQL建 job 的区别
2011-02-14 15:53 3172//建立job variable tes ... -
plsql中job学习
2011-02-14 15:51 982plsql中学习job --学习job -- ... -
log4j配置解读
2011-02-14 09:51 847log4j.properties 使用 一.参数意义说明 ... -
路径问题--web项目中读写properties文件
2010-11-04 10:02 2269properties文件一般放在工程的src根目录下,然后通过 ... -
基础巩固--概念总结(spring security、Quartz、JUnit测试,等)
2010-11-04 09:52 2007面试时可能有用 1、Spring Security 的大体框架 ...
相关推荐
在实际操作中,创建和使用DSO数据岛的例子步骤可能包括: 1. **规划数据模型**:确定数据岛的划分标准,如业务过程、时间范围或地理区域。 2. **设计DSO结构**:为每个数据岛创建对应的DSO对象,定义其数据结构和...
DSO模型和数据岛是XML应用中的两个关键概念,让我们详细了解一下它们。 DSO,全称为“Document Object Model”,即文档对象模型。它是W3C组织定义的一种标准,用于描述XML文档的结构,并提供了一种编程接口,使得...
总结来说,XML数据源对象DSO是早期Web开发中用于展示和操作XML数据的有效手段,通过数据岛技术将XML数据集成到HTML页面,结合ADO Recordset对象实现数据的动态交互。随着现代Web技术的发展,如AJAX和JSON的普及,DSO...
总的来说,XML数据岛是Web开发中的一种高效方法,用于在HTML页面中嵌入和管理XML数据,实现了数据和表现的分离,增强了网页的动态性和互动性。尽管现在有其他更现代的技术如AJAX和JSON,但在早期的Web开发中,XML...
在Web开发中,XML数据源对象(XML Data Source Object,DSO)是一个关键概念,它允许开发人员将结构化的XML数据与HTML页面动态结合,实现数据绑定。数据绑定技术使得XML数据能够在HTML页面上直观地呈现,增强网页的...
DSO技术的应用是指使用DSO技术将XML数据岛嵌入到HTML页面中,以便实现数据的动态显示和交互。例如:<XML ID="xmldso"><?xml version="1.0"?><booklist><book><title>Straight Talk About Computers</title><isbn>72-...
本文将详细介绍如何利用XML DSO在Web页面中处理和显示XML数据。 XML DSO是专为微软IE4及以上版本设计的,它通过 `<OBJECT>` 标签初始化,其`CLASSID`为 `CLSID:550dda30-0541-11d2-9ca9-0060b0ec3d39`。在HTML页面...
- C++ XML数据源对象:XML DSO让HTML元素直接与XML数据岛绑定,提高性能和数据绑定能力。 2. HTML、动态HTML(DHTML)与XML的关系: - HTML负责基本的页面布局,与CSS结合实现样式化。 - DHTML通过DOM增强了...
在这个随机试卷系统中,XML-DSO被用来读取XML文件中的用户和题目信息,并将其转化为JavaScript可以处理的数据结构。这样,系统可以根据需要动态加载和更新题库,提高了系统的响应速度和用户体验。 JavaScript是实现...
10. 由于KITTI的真值pose(真实位置和姿态)数据和时间戳不在同一个文件中,需要利用evo工具提供的脚本将两个文件合并,以生成适合evo评估的tum格式真值数据文件。同时,由于DSO输出的帧id是从1开始的递增序列,所以...
1. **动态链接**:与静态链接不同,动态链接不将所有函数和数据合并到可执行文件中,而是仅在运行时将需要的DSO加载到内存中。 2. **LD_LIBRARY_PATH**:这是一个环境变量,用于指定在运行时查找DSO的路径。如果不...
动态共享对象允许程序在运行时加载和使用库,而不是在编译时静态链接,这提供了更好的灵活性和资源利用效率。 在C++编程中,DSO的使用涉及到以下几个关键知识点: 1. **链接方式**: - 静态链接:编译时将所需的...
微软DSO Framer是一款工具,用于在Windows Forms应用程序中嵌入和操作Microsoft Office组件,如Excel、Word和PowerPoint。这个技术允许开发者在Winform应用中无缝集成Office文档的查看和编辑功能,而无需直接使用...
《DSO文件保存到服务器原理及其使用方法》 DSO(Dynamic Server Objects)文件保存到服务器是一种常见的数据传输技术,特别是在网页中处理Word...理解和掌握这一技术对于在Web环境中处理动态服务器对象文件至关重要。