`

dwr util.js工具包的应用

    博客分类:
  • DWR
阅读更多
util.js工具包包含了一些实用函数来帮助你用javascript操作从服务器返回的数据数据,以便来更新web页面。 也可以在DWR以外使用它,因为它不依赖于DWR的其他部分。下面介绍这个工具的主要函数。
7.13.1 $()函数
$() 函数实现的功能相当于 document.getElementById方法。 因为在Ajax程序中,经常需要写很多这样的语句,所以使用 $() 会更简洁。它通过指定的id来查找当前HTML文档中的元素,如果传递给它多个参数,它会返回找到的元素的数组。所有非String类型的参数会被原封不动的返回。这个函数的灵感来至于prototype库,但是它可以在更多的浏览器上运行。
$() 函数的使用方法为:
var searchexp = $("searchbox").value
<!—对应HTML表单的ID-->
<input id="searchbox"/>
7.12.2 addOptions与 removeAllOptions函数
在DWR项目应用中,经常需要根据所选项来填充选择列表。这现这种功能可能通过调用addOptions与 removeAllOptions函数来填充或移除列表。例如,如果希望在更新了select以后,它仍然保持更新前的选择项,实现方法如下:
var sel = dwr.util.getValue(id);
dwr.util.removeAllOptions(id);
Array array = new Array[ 'Africa', 'America', 'Asia', 'Australasia', 'Europe' ];  
dwr.util.addOptions("id ",array); 
dwr.util.setValue(id, sel);
如果想加入一个初始的"请选择..." 选项,那么可以直接加入下面的语句:
dwr.util.addOptions(id, \["请选择 ..."]);
dwr.util.addOptions有5种模式,分别为:
 数组模式:dwr.util.addOptions(selectid, array) 会创建多个option,每个option的文字和值都是数组元素中的值。
 对象数组模式:(指定text): dwr.util.addOptions(selectid, data, prop) 用数组中的每个元素创造一个option,option的值和文字都是在prop中指定的对象的属性。例如: 
dwr.util.addOptions( "demo",  
                 [{ name:'Africa', id:'AF' },  
                  { name:'America', id:'AM' },  
                  { name:'Asia', id:'AS' },  
                  { name:'Australasia', id:'AU' },  
                  { name:'Europe', id:'EU' } ],'id','name'); 
 对象数组模式: (指定text和value值): dwr.util.addOptions(selectid, array, valueprop, textprop) 用数组中的每个元素创造一个option,option的值是对象的valueprop属性,option的文字是对象的textprop属性。 这种情况下,你需要指定要显示 beans 的 property 以及 对应的 bean 值,例如: 
public class Person {  
      private String name;  
      private Integer id;  
      public void set(){……}  
      public String get(){……}  
   }  
dwr.util.addOptions("demo",array,'id','name');  
其中id指向及bean的id属性,在optiong中对应value,name指向bean的name属性,对应下拉框中显示的哪个值。
 对象模式: dwr.util.addOptions(selectid, map, reverse)用每个属性创建一个option。对象的属性名用来作为option的值,对象的属性值用来作为属性的文字,如果reverse参数被设置为true,那么对象的属性值用来作为选项的值。
 对象的Map模式:dwr.util.addOptions(selectid, map, valueprop, textprop) 用map中的每一个对象创建一个option。用对象的valueprop属性做为option的value,用对象的textprop属性做为 option的文字。
 ol 或 ul 列表模式:dwr.util.addOptions(ulid, array) 用数组中的元素创建多个li元素,它们的innerHTML是数组元素中的值。这种模式可以用来创建ul和ol列表。
7.13.3 addRows与 removeAllRows函数
在 DWR应用中,通过addRows与 removeAllRows这两个函数来操作table表格,这个函数的第一个参数都是table、tbody、thead、tfoot的id。一般来说最好使用tbody,因为这样可以保持header和footer行不变。它们的用法如下:
 dwr.util.removeAllRows()
dwr.util.removeAllRows(id);
通过table元素的id删除table中所有行。
如果要删除表格中的某一行,则可用如下方法:
function deleteRows(id)
{
var tbody=document.getElementById("tb1");// tbody 的id
var trow=document.getElementById(id);//要删除的行号
if(confirm("确定删除?"))
{
    tbody.removeChild(trow);
}
}
 dwr.util.addRows()
dwr.util.addRows(id, array, cellfuncs, [options]);
这行语句向指定id的table元素添加行。它使用数组中的每一个元素在table中创建一行。然后用cellfuncs从传递过来的行数据中提取单元格数据。其中参数:
 id: table元素的id(最好是tbody元素的id)
 array:数组或对象,做为更新表格数据。
 cellfuncs: 函数数组,从传递过来的行数据中提取单元格数据。
 options: 一个包含选项的对象,选项包括一个用来创建行的函数rowCreator(例如希望给tr加上css), 默认值是返回一个document.createElement("tr")。一个用来创建单元格的函数cellCreator(例如用th代替td)。 默认返回一个document.createElement("td")。下面就是一个向table元素添加行的应用例子,代码如下:
var cellFuncs = [
function(data) { return data; },
function(data) { return data.toUpperCase(); },
function(data) {
    return "<input type='button' value='提交' onclick='alert(\"测试\");'/>";
},
function(data) { return count++; }
];
var count = 1;
dwr.util.addRows( "t1", , cellFuncs, { escapeHtml:false });
<!—对应的HTML内容-->
<table border="1" width="110%"   id="table17" name="table17" height="27">
<tbody id="t1" name="t1">
</tbody>
</table>
7.13.4 getText函数
getText(id)和getValue(id)相似。用它可以得到select列表项目的显示的文本,而不是当前选项的值。
7.13.5 getValue函数
dwr.util.getValue(id) 可以从HTML元素中取出其中的值,这个函数能操作大多数HTML元素,其中包括select(去处当前选项的值而不是文字)、input元素(包括 textarea)、div和span。下面就是一个getValue函数的应用例子,实现代码如下:
<html>
<head>
   <title></title>
   <script type="text/javascript" src="dwr/util.js"></script>
   <script type="text/javascript" src="dwr/engine.js"></script>
   <script>
function getValue()
{
var cnId = dwr.util.getValue("myId");
var cnValue = dwr.util.getValue("myValue");
alert(dwr.util.getValue("myId"));
}
</script>
</head>
<body>
   <input type="text" value="" id="myId" />,
   <input type="text" value="" id="myValue" />
   <input type="button" value="setValue" onclick="getValue();" />
</body>
</html>
7.13.6 getValues函数
getValues() 得到的是包含name/value对的javascript对象。name是HTML元素的ID,value会被更改为这些ID对象元素的内容。 getValues()可以传入一个HTML元素(一个DOM对象或者id字符串)象。这个函数不会返回对象,它只更改传递给它的值。下面就是一个 getValues函数的应用例子,实现代码如下:
var person = { id:1, name:'tfnew21', address:'北京', salary:10000 }; 
dwr.util.getValues(person); 
alert(person.name); //访问person对象的属于,运行后会在窗口中显示’tfnew21’字符串
dwr.util.getValues({textarea:null,select:null,text:null,password:null,button:null})  
alert(textarea.value);// 执行后textarea.value的值为"test"
//HTML中的代码
<input type="textarea" id="textarea" value="test" />
<input type="text" id="text" value="tfnew21" />
<input type="password" id="password" value="12345" />
<select id="select">
<option value="1" select>
香蕉
</option>
</select>
7.13.7 onReturn函数
定义在输入框中按回车的响应,防止执行submit。当使用Ajax时,往往需要的触发一些Javscript。 不幸的是不同的浏览器处理这个事件的方式不一样。所以dwr.util.onReturn修复了这个差异。如果需要在一个表单元素中按回车时触发一些 Javscript,实现代码如下:
<input type="text" onkeypress="dwr.util.onReturn(event,submitFunction)"/>
<input type="button" onclick="submitFunction()"/>
这个函数的工作原理与onSubmit()事件相似,只能存在于<FORM >元素中。
7.13.8 selectRange函数
selectRange用于选择一个输入框中的一定范围的文字。 调用方法如下:
dwr.util.selectRange(ele, start, end)//ele输入ID,start开始位置,end结尾位置
例如:<input type="text" id="sel-test" value="0123456">  
dwr.util.selectRange("sel-test", 2, 5); 
7.13.9 setValue函数
dwr.util.setValue(id, value)根据第一个参数中指定的id找到相应元素,并根据第二个参数改变其中的值。 这个函数能操作大多数HTML元素,包括select、input元素(包括textarea)、div和span。例如:下面就是一个getValue 函数的应用例子,实现代码如下:
<html>
<head>
   <title></title>
   <script type="text/javascript" src="dwr/util.js"></script>
   <script type="text/javascript" src="dwr/engine.js"></script>
   <script>
function setValue()
{
var cnId = dwr.util.getValue("myId");
var cnValue = dwr.util.getValue("myValue");
dwr.util.setValue(cnId, cnValue);
alert(dwr.util.getValue("myId"));
}
</script>
</head>
<body>
   dwr.util.setValue(
   <input type="text" value="" id="myId" />,
   <input type="text" value="" id="myValue" />
   )
   <input type="button" value="setValue" onclick="setValue();" />
</body>
</html>
7.13.10 setValues函数
setValues() 和setValue()非常相似,但它传入的参数是一个拥有多个属性的javascript object,属性名称是html页面元素的id,属性value为html页面元素的value。下面就是一个setValues函数的应用例子,实现代码如下:
<html>
<head>
   <title></title>
   <script type="text/javascript" src="dwr/util.js"></script>
   <script type="text/javascript" src="dwr/engine.js"></script>
   <script>
function setValue()
{
var cnId = {myAreaText:"tfnew21",myDiv:"ddr"};
dwr.util.setValues(cnId);

}
</script>
</head>
<body>
   <input type="button" value="setValue" onclick="setValue();" />
   <br />
   id=myAreaText
   <textarea id="myAreaText" value=""></textarea>
   <br />
   id=myDiv
   <div id="myDiv"></div>
</body>
</html>
7.13.11 toDescriptiveString函数
toDescriptiveString函数是带debug信息的toString,第一个为将要debug的对象,第二个参数为处理等级。等级如下:
0:单行调试
1:不分析子元素的多行调试
2: 最多分析到第二层子元素的多行调试
调用方法如下:
<input type="text" id="text">
dwr.util.toDescriptiveString("text",0);
7.13.12 useLoadingMessage函数
useLoadingMessage函数作用是当发出ajax请求后,页面显示的提示等待信息,调用方法如下:
function searchUser(){  
var loadinfo = "loading....." 
try{  
     regUser.queryAllUser(userList);  
     dwr.util.useLoadingMessage(loadinfo);          
}catch(e){  
 
}  
}

以上介绍了DWR的工用原理就实现方法,同时介绍了两个工具包的常用函数的用法,有关DWR的在项目中的具体应用,将在后面的在线书店电子商务系统中详细介绍,本节不在介绍。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tfnew21/archive/2009/02/20/3914869.aspx
分享到:
评论

相关推荐

    dwr util.js

    《DWR util.js详解及其应用》 DWR (Direct Web Remoting) 是一种在Web应用程序中实现客户端与服务器端通信的技术,它允许JavaScript代码直接调用Java方法,从而提供了更高效的异步数据交互。在DWR框架中,`util.js`...

    dwr util.js engine.js

    总结来说,DWR提供了一个强大的工具,使得Web开发者可以通过JavaScript轻松地调用服务器端的Java方法,而`util.js` 和 `engine.js` 分别作为工具库和核心引擎,是实现这一功能的关键组件。在实际开发中,理解和掌握...

    DWR(包括engine.js+util.js).rar

    `util.js`是DWR的工具库,包含了各种实用函数,帮助开发者更好地管理和优化使用DWR的应用程序。这些函数涵盖了数组操作、字符串处理、日期时间格式化、DOM操作等多个方面,增强了JavaScript的基本功能,提高了代码的...

    DWR util.js学习笔记.doc

    DWR util.js 是一个JavaScript工具库,提供了一些有用的函数,用于在客户端页面调用。下面是DWR util.js中的主要功能: 1. $()函数:获取页面参数值 该函数用于获取页面参数值,例如:var name = $("name");获取名...

    dwr教程+dwr.jar+util.js+engine.js

    `util.js` 和 `engine.js` 是DWR的核心JavaScript库。`util.js` 提供了一系列实用工具函数,用于辅助JavaScript编程,例如类型检查、对象遍历等。`engine.js` 是DWR引擎的核心,负责处理与服务器的通信,包括请求的...

    dwr.jar engine.js util.js,Dwr相关

    "util.js"是DWR的实用工具脚本文件,它提供了一些辅助函数和通用功能,帮助开发者更好地管理和操作DWR的API。例如,它可能包含一些用于数据验证、对象序列化或调试的函数,这些函数在编写DWR应用时非常有用。 DWR的...

    dwr 例子,jar包,engine.js util.js 学习笔记

    这个压缩包包含的是DWR的实例、相关的jar包以及两个重要的JavaScript文件——`engine.js`和`util.js`,这些都是学习DWR的关键组件。 1. **DWR基础概念**: DWR的核心功能是提供一种方式,使得客户端JavaScript可以...

    dwr需要的js(searchaAuthor+engine.js+util.js).rar

    总结来说,这个压缩包包含的JavaScript文件是构建一个基于DWR的Web应用的重要组成部分,其中searchaAuthor.js负责特定业务逻辑,engine.js提供与服务器交互的基础框架,而util.js则包含各种辅助工具函数。...

    dwr城市选择的联动,util.js方法的使用,动态table

    这个过程中,`util.js` 文件起到了关键作用,它是DWR提供的一系列工具函数的集合,用于简化DWR的使用和页面操作。 `util.js` 文件中的方法可能包括但不限于: 1. `createDWRInterface`: 创建DWR接口,使JavaScript...

    dwr utils.js常用方法整理

    总结来说,DWR的Util.js库提供了强大的工具集,涵盖了从DOM操作到数据处理的广泛功能,极大地简化了Web应用的开发流程。掌握这些方法的应用,对于提升前端与后端的交互效率、优化用户体验有着不可忽视的作用。

    ajax-DWR笔记.doc

    在DWR中,util.js是一个重要的辅助库,提供了多种方便的JavaScript函数,简化了DOM操作和数据处理。以下是对DWR util.js中一些关键功能的详细说明: 1. **`$("id")`**:这个函数类似于JavaScript的`document....

    第22章__使用DWR框架.pdf

    当远程调用Java方法时,如果有返回值,DWR会调用Util工具对象进行处理。Util.js将在22.3.1节详细介绍。 ##### 22.1.2 DWR对于Ajax的优点 - **安全性:**DWR的安全性很高,它在服务器端进行配置而非客户端。DWR 2.0...

    dwr.jar 以及dwr配置文件

    Direct Web Remoting (DWR) 是一个开源的Java库,它允许在JavaScript和服务器端Java之间进行双向通信,实现Web应用程序的Ajax功能。DWR使得动态网页能够与后台服务器进行实时交互,无需刷新整个页面,提高了用户体验...

    DWR中文文档v0.9+DWR.jar+JS

    - **dwr.util.js**:DWR提供的实用工具函数,如数组操作、DOM操作等。 - **其他*.js文件**:可能包含DWR的自定义扩展或示例代码。 学习和使用这个压缩包,开发者可以快速掌握DWR的使用,从而构建出具有实时交互性的...

    dwr.xml配置描述及JSP上的引用_1

    &lt;script type="text/javascript" src="/dwr/util.js"&gt; &lt;script type="text/javascript"&gt; DWRUtil.useLoadingMessage("正在处理..."); MyService.doSomething(param1, param2, function(response) { // 处理...

    dwr_jar包下载

    DWR使得JavaScript可以直接调用Java方法,就像是本地对象一样,极大地简化了Web应用程序的开发。在Java Web开发中,DWR常常用于构建富互联网应用(RIA)。 **DWR Jar包**: DWR的核心库是`dwr.jar`,它包含了所有...

    DWR所需js文件及jar包以及配置说明

    - `util.js`: 提供了一系列实用工具函数,用于增强JavaScript功能,如类型检查、字符串处理等,这些函数对DWR的运行是必要的。 - `browser.js`: 这个文件包含了针对不同浏览器的兼容性处理,确保DWR在各种环境下都...

    dwr用到的2个js文件

    `util.js`是DWR的实用工具库,包含了各种辅助函数,这些函数在处理数据、DOM操作、事件处理等方面非常有用。这个文件提供了许多JavaScript的增强功能,使得在客户端进行操作更加便捷。例如,`util.js`可能包含了...

    DWR实现的无刷新联动

    在前端页面,我们需要引入DWR的JavaScript库,这包括`DataDisplay.js`(自定义的DWR接口),以及DWR引擎和工具函数: ```html &lt;script type='text/javascript' src='&lt;%=basePath %&gt;dwr/interface/DataDisplay.js'&gt; ...

Global site tag (gtag.js) - Google Analytics