`
weiwu83
  • 浏览: 191279 次
  • 来自: ...
社区版块
存档分类
最新评论
阅读更多

util.js
util.js包含了一些使用的方法,从而帮助你利用j avascript(可能)从服务器端更新你的web数据。
你可以在DWR之外的地方使用它,因为它并不依赖与DWR而实现。
它包含四个页面处理函数:getValue[s]()、setValue[s]()作用于除tables、lists和images以外的大多数html元素。getText()作用于select lists。
addRows()和removeAllRows()用于编辑tables。addOptions()和removeAllOptions()用于编辑lists(如:select lists、ul、ol)。


$()
$函数(在j avascript中,他的名字是合法的)的思想是从prototype引进的。一般说来,$ = document.getElementById。在以后你花大量时间进行ajax编程的时候,在合适的地方使用这种格式是很有益的。
'$'通过给定的ID在当前HTML页面找到元素,如果多于一个的参数被提交,它就会返回一个包含已找到元素的数组。这个函数从prototype的library中得到的灵感,而且,它还能更好的工作在不同的浏览器中。


Generating Lists
DWR的一个功能可以给一个下拉列表(select list)添加选项,只需使用DWRUtil.addOptions()。
如果你在更新列表之前,希望保留一些选项,你需要写以下一些代码:
var sel = DWRUtil.getValue(id);
DWRUtil.removeAllOptions(id);
DWRUtil.addOptions(id, ...);
DWRUtil.setValue(id, sel);
如果你想有个初始化选项,如:“please select”,你可以直接使用:
DWRUtil.addOptions(id, ["Please select"]);
DWRUtil.addOptions 有5种调用方法:Array: DWRUtil.addOptions(selectid, array) 。selectid为目标ID,array为每一项的text。
Array of objects (option text = option value): DWRUtil.addOptions(selectid, data, prop) 用text和value的集合来为每一个数组元素创建一个选项,pro参数指定text和value的值。
Array of objects (with differing option text and value): DWRUtil.addOptions(selectid, array, valueprop, textprop) 用text和value的集合来为每一个数组元素创建一个选项,valueprop确定value,textprop确定text。
Object: DWRUtil.addOptions(selectid, map, reverse) 为map中每一个属性(property)创建一个选项,属性名作为选项的value,属性的value作为选项的text。这样做看起来是错的,但实际上这种做法的确是正确的。如果reverse参数被设置为true,则属性的value还是被用做选项的value。
Map of objects: DWRUtil.addOptions(selectid, map, valueprop, textprop) 为map中的每一个对象创建一个选项,valueprop指定选项的value,textprop指定选项的text。


Generating Tables
DWRUtil.addRows() 从一个数组(第二个参数)取得值,创建table的每一行。从另一个数组(第三个参数)去得值,为table的每一行创建若干列。
DWRUtil.addRows()的用法:
DWRUtil.addRows(”items”,items,cellFunctions);
第一个items,应该是table的id,第2个items,是远程返回的结果集,cellFunctions,对表格行填充的回调函数一类的。
var cellFunctions = [ function(item) { return item.name; },
function(item) { return item.description; },
function(item) { return item.formattedPrice; },
function(item) { var btn = document.createElement(”button”); btn.innerHTML = “Add to cart”; btn.itemId = item.id; btn.onclick = addToCartButtonHandler; return btn; }
应该是一个function(item)就代表一列,return的就是传入的结果集的某列的内容。那么这个表格就应该有4列。最后一列是静态的html代码了。不过没研究一下,return回去动静混合的内容,就是一个字串会如何。我猜应该也可以吧。

DWRUtil.getText(id)
可以根据id取得text的值,这个方法只能用于select list
DWRUtil.getValue(id)
可以根据id取得value,使用这个方法,你不必在意div和select list的不同。
DWRUtil.getValues()
getValues() is similar to getValue() except that the input is a Javascript object that contains name/value pairs. The names are assumed to be the IDs of HTML elements, and the values are altered to reflect the contents of those IDs. This method does not return the object in question, it alters the value that you pass to it.
这个方法和getValue()一样,只是它传入的是一个包含名字和数值的j avascript对象.这个名字就是HTML元素的ID。这个方法不会返回任何对象,它只会将ID的value映射给传入的value。例:
function doGetValues() {
var text= "{
div:null,
textarea:null,
select:null,
text:null,
password:null,
formbutton:null,
button:null
}";
var object = objectEval(text); //j avascript对象
DWRUtil.getValues(object);
var reply = DWRUtil.toDescriptiveString(object, 2); //toString
reply = reply.replace(/n/g, "
"); //转意
DWRUtil.setValue("getvaluesret", reply); //显示
}


DWRUtil.onReturn
贴一段代码,暂时不理解,用onReturn和不用有什么区别
<script>
function submitFunction()
{
$("alert").style.display = "inline";
setTimeout("unsubmitFunction();", 1000);
}
function unsubmitFunction()
{
$("alert").style.display = "none";
}
</script>



submitFunction called

 


DWRUtil.selectRange
在一个input box里选一个范围
DWRUtil.selectRange("sel-test", $("start").value, $("end").value);
DWRUtil.setValue(id, value)
用ID找到元素,并更新value
DWRUtil.setValues()
和setValue(id,value)一样,只是它需要的参数是个j avascript对象,如:
DWRUtil.setValues({
div: "new div content",
password: "1234567890"
});


DWRUtil.toDescriptiveString
带debug信息的toString,第一个为将要debug的对象,第二个参数为处理等级。等级如下:
0: Single line of debug 单行调试
1: Multi-line debug that does not dig into child objects 不分析子元素的多行调试
2: Multi-line debug that digs into the 2nd layer of child objects 最多分析到第二层子元素的多行调试
And so on. Level 2 and greater probably produce too much output.
总结:DWR不但屏蔽了许多client与server交互的重复且复杂的代码,而且还提供了一些常用的方法,一些思想还是从prototype继承而来,并有一定的改进。同时,它也考虑到了与struts、hibernate、spring的结合问题。
需要注意的是,DWR是一种把服务器端的java代码通过j avascript直接从浏览器调用的方法(DWR is a way of calling Java code on the server directly from Javascript in the browser.),而不是一个j avascript的库

分享到:
评论

相关推荐

    DWRUtil.rar_DWRUtil_dwr

    这个压缩包"DWRUtil.rar"包含了"DWRUtil_dwr"相关的文件,特别是"DWRUtil.txt",这可能是一个详细的中文解释文档,旨在帮助开发者理解和使用DWRUtil。 DWRUtil的主要功能和知识点包括: 1. **对象和数组操作**:...

    dwrUtil用法

    ### dwrUtil用法详解 #### 一、概述 DWR (Direct Web Remoting) 是一个简化 AJAX 编程的框架,它使得 JavaScript 函数能够直接调用服务器端的 Java 方法,而无需编写复杂的 XML 或 JSON 数据处理代码。在 DWR 中,...

    DWR小结DWRUtil篇

    在本篇文章中,我们将详细介绍DWRUtil的各种方法和使用场景。 1. DWRUtil.$() DWRUtil.$()方法是DWRUtil中最基本的方法,用于获取HTML元素。它相当于JavaScript中的document.getElementById()方法,参数可以是元素...

    dwr.jar dwrUtil常见方法 dwr详细资料

    标题“dwr.jar dwrUtil常见方法 dwr详细资料”指出,我们关注的核心是“dwr.jar”,这是一个包含Direct Web Remoting (DWR)框架核心库的Java档案文件。DWR是一种使Web应用程序能够执行服务器端JavaScript的方法,...

    DWRUtil 小结

    根据给定的信息,我们可以对DWRUtil进行详细的知识点总结。...掌握这些方法的使用,有助于提高前端开发效率和用户体验。在实际开发过程中,根据具体需求灵活运用这些工具,能够实现更为复杂的交互效果。

    dwrUtil用法--更好的开发Ajax

    - `DWRUtil.addOptions('addOptionsMap1', map)` 和 `DWRUtil.addOptions('addOptionsMap1', map, true)`:这些方法使用Map对象的键作为文本,值作为选项值。 9. **列表操作**: - 当列表(如`...

    dwr js包 DwrEngine.js+DwrUtil.js

    `DwrUtil.js`则是一些实用工具函数的集合,用于辅助DWR的使用,例如对象操作、数组处理、DOM操作等,它为开发者提供了一套方便的API,以提高开发效率。 在DWR 1.0和2.0这两个版本中,主要的改进和变化可能包括: 1...

    DWRUtils高级使用帮助

    DWRUtils是一个JavaScript库,它与Direct Web Remoting (DWR)框架一起使用,简化了在浏览器端与服务器端进行交互的过程。DWR允许在客户端和服务器之间实时地交换数据,而无需刷新整个页面。DWRUtils提供了许多便利的...

    使用dwr的一点经验

    - 若要在下拉列表中预设一个初始选项(如“请选择”),可以使用`DWRUtil.addOptions(id, ["Please select"])`。 4. **`DWRUtil.addOptions`的调用方式** - **数组形式**:`DWRUtil.addOptions(selectId, array...

    DWR addOptions()填充下拉框,addRows()填充表格

    DWRUtil.addOptions("selectElementId", [ ["optionValue1", "Option Text 1"], ["optionValue2", "Option Text 2"] ]); ``` 在上述示例中,`"selectElementId"` 是需要填充的下拉框的ID,`[ ["optionValue1", ...

    DWR util.js 学习笔记 整理

    DWRUtil 中的 $() 函数用于获取页面参数值,它可以代替 document.getElementById 函数,但需要注意的是,在 IE5.0 中不支持该函数。例如, var name = $("name"); 可以获取名为 "name" 的表单元素的值。 2. ...

    DWR (api)帮助文档

    - `DWRUtil.selectRange("selectRangeBasic", 5, 15)`:此方法可以选中指定文本框中的特定字符范围,这里是从第五个字符到第十五个字符。 - `DWRUtil._getSelection("selectRangeBasic")`:获取文本框中已选择的...

    DWR util.js学习笔记.doc

    在使用DWR util.js时,需要注意IE5.0不支持$()函数。 DWR util.js还提供了多种方式添加选项到下拉框中,例如: * 简单数组方式:DWRUtil.addOptions("demo1", ['Africa', 'America', 'Asia', 'Australasia', '...

    ajax-DWR笔记.doc

    若要获取元素的值,可以使用`innerHTML`属性或DWRUtil的`getValue("elementId")`方法。 2. **`DWRUtil.toDescriptiveString("elementId", debugLevel)`**:这是一个调试工具,用于输出有关指定ID元素的详细信息。第...

    dwr-下拉菜单实现

    - `DWRUtil.addOptions(element, options, labelField, valueField)`:向指定元素添加选项。其中,`element`为下拉菜单元素对象,`options`是包含选项的数据源,`labelField`和`valueField`分别表示显示的文本和值...

    dwr数据操作爱爱爱 分页

    在DWR中,我们通常使用`DWRUtil`工具类来辅助数据处理,包括分页。**DWRUtil**提供了便捷的方法来操作HTML元素,例如填充表格或列表。我们可以创建一个服务器端的Java方法,该方法接收分页参数(如当前页数、每页...

    关于使用DWR返回对象List的方法

    这篇博客文章“关于使用DWR返回对象List的方法”主要探讨了如何通过DWR框架在Java后端处理数据并以List对象的形式返回给前端JavaScript。 在Web开发中,通常我们需要从服务器获取数据并在客户端展示,DWR通过AJAX...

    使用XML和dwr ajax 集成实现省市级联菜单

    DWRUtil.addOption(citySelect, cityList[i].id, cityList[i].name); } DWRUtil.removeLoadingMessage(); }); ``` 在上述代码中,`DWRProvinceService.getCityList` 是一个在服务器端定义的方法,它接收省份ID...

    AJAX DWR教程

    例如,`DWRUtil.setValue`可以方便地设置表单元素的值,`DWRUtil.fillSelect`用于填充SELECT选项,`DWRUtil.update`可以更新指定的DOM元素。 **5. 实战案例** 在提供的资源中,"DWR util_js 整理(DWR 处理各种form...

    dwr 包的 使用入门

    - 使用DWR的API,如`DWRUtil`或`RemoteObject`,来调用服务器端的方法。 7. **安全性和权限控制**: - DWR提供了安全机制,比如白名单、签名等,确保只有授权的方法能被JavaScript调用。 - 在`dwr.xml`中配置...

Global site tag (gtag.js) - Google Analytics