- 浏览: 1394061 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (328)
- JSF (27)
- 生活 (12)
- Ajax (26)
- Maven (6)
- CSS (1)
- Shale (3)
- SiteMesh (1)
- Ext (15)
- JMX (2)
- Windows技巧 (7)
- 工作感悟 (18)
- SVN (2)
- SVG (0)
- GoogleGear (0)
- RAP (2)
- SOA与WebService (3)
- 笔记本技术研究 (1)
- Microsoft (2)
- 英语学习 (3)
- PHP (7)
- web 2.0 (6)
- 语义Web (1)
- IT史话 (3)
- iText (3)
- JVM (1)
- PropertiesEditor (1)
- J2SE (33)
- Spring (2)
- Java Batch (1)
- log (2)
- Struts2 (2)
- DWR (0)
- JAAS (3)
- EJB3 (4)
- Flex (8)
- JFreeChart (1)
- WAS (0)
- 数据库 (2)
- 摄影 (0)
- SQL (1)
- Google App Engine (1)
- linux (5)
- Eclipse plugin (10)
- Testing (0)
- Portal (0)
- 移动互联网 (0)
- SWTBot (1)
最新评论
-
江奇缘:
不错!!!!!!
web.xml里<filter-mapping>中的<dispatcher>作用 -
yy8093:
commonj 第三步,那个调用的方法要在哪里调?servle ...
JAVA中多种计时器的比较与分析 -
di1984HIT:
学习了,不错~
web.xml里<filter-mapping>中的<dispatcher>作用 -
penkee:
com.lowagie.text.DocumentExcept ...
iText中输出 中文 -
氵壞男亼乀:
我想请问下 你哪个html里面引入的几个js文件没看懂!你 ...
DWR入门教程之HelloWorld
当你需要通过dwr完成类似提交form的操作,了解DWRUtil.getValues是必须的
/** * Given a map, call getValue() for all the entries in the map using the entry key as an element id. * Given a string or element that refers to a form, create an object from the elements of the form. * @see http://getahead.ltd.uk/dwr/browser/util/getvalues */ DWRUtil.getValues = function(data) { //定义ele变量, var ele; //如果ele是一个字符串通过 $函数转化一下,$函数的使用见我的上个帖子深入分析dwr中的DWRUtil.$ if (typeof data == "string") ele = $(data); //如果ele是个HTML元素对象,通常应该是一个form对象 if (DWRUtil._isHTMLElement(data)) ele = data; if (ele != null) { //如果ele不是form对象,返回,只有form对象才有elements 属性 if (ele.elements == null) { alert("getValues() requires an object or reference to a form element."); return null; } //定义一个空对象reply var reply = {}; //定义一个对象放key var value; //遍历form,将表单key-value放入reply,忽略<input type="image"/> for (var i = 0; i < ele.elements.length; i++) { if (ele[i].id != null) value = ele[i].id; else if (ele[i].value != null) value = ele[i].value; else value = "element" + i; reply[value] = DWRUtil.getValue(ele[i]); } return reply; } //如果传入的参数对象不是表单对象,通常应该是与领域对象对应js对象 else { //遍历对象属性,将与属性对应的页面元素值拷到js对象中 for (var property in data) { // Are there any elements with that id or name if ($(property) != null || document.getElementsByName(property).length >= 1) { data[property] = DWRUtil.getValue(property); } } return data; } };
总结
1)如果你需要使用ajax完成表单提交的操作,那么你应该使用DWRUtil.getValues,参数或者是个form对象,或者是个与领域对象对应的js对象
2)应该看到第二种用法的局限性,如果存在多个相同的表单或者是个复合的js对象,那么第二种用法是不合适的
3)第一种用法看似复杂,但更具灵活性
到底改如何选择取决于具体的应用
====================================================
背景:需要使用ajax完成表单提交操作
核心代码如下:
function addReply(frm){ //利用dwr自动将frm提交的数据植入js对象, //DWRUtil.getValues的使用见我的上篇帖子 var commentForm = DWRUtil.getValues(frm); //调用服务器端的服务 CommentService.writeComment(writecallback,commentForm ); //.... }
注意以下几点
1
)传给服务的
js
对象最好严格与领域对象对应不能有key为""的属性否则会报错,可以有多余 的属性,但后台会出现一些烦人日志信息告诉你无法匹配
2)对于领域对象来说,dwr在转换时会遍历所有get方法(根据传入的js对象属性进行反射不就好了,
为什么要遍历get方法,真是奇怪啊
),所以注意你的get方法要健壮避免后台会出很多日志信息汇报空指针之类的错误
3)关于本地传递的js对象,必须结构与领域对象对应。从抽象的角度看多数情况领域对象完 全可以用数组和hash结构描述,何况所谓的对应只是属性的对应,所以合理的使用Array和Object完全可以实现js对象和领域对象的匹配
4 )必须配置合适的转化器 让 dwr 知道如何将你传入的 js 对象转化为领域对象
5 )使用DWRUtil.getValues(frm)或者DWRUtil.getValues( obj )收集提交的数据
发表评论
-
超强1000个jquery极品插件!(连载中。。。。最近更新20090710)
2009-11-26 16:01 4751花N长时间积累的Jquery插件,希望大家喜欢。大家 ... -
jquery cycle plugin
2009-11-04 15:38 2579‹‹ home jQuery Cycle Pl ... -
VIM技巧
2009-04-24 16:06 1860(1).w跳到下面一个单词(word) (2).b跳到上面一 ... -
HTML 特殊字符表
2009-04-01 16:01 1688With the exception of HTML 2.0 ... -
Web开发中不可缺少的浏览器相关工具
2009-03-24 13:45 1909整理了一些Web前端开发的资源,包括有浏览器开发工具,Micr ... -
jsp重定向forward和sendRedirect的比较
2008-12-05 12:28 7377JSP的重定向有两种:forw ... -
AJAX开发简略 (第一部分)7.1、AJAX应用到的技术
2008-11-14 12:18 1981在使用浏览器浏览网页的时候,当页面刷新很慢的时候,你的浏览器在 ... -
JSON的三个好处
2008-10-27 10:38 2533JSON的三个好处收藏 <script>f ... -
自定义可排序表格
2008-10-15 15:22 2024首先,定义一个js: tableSort.js: func ... -
深入分析dwr中的DWRUtil.$
2008-09-12 09:47 1400from:http://blog.csdn.net/pwl ... -
查看JSON对象结构
2008-08-25 10:37 4719在使用DWR时我们经常需要返回一个复杂的java对象,对于这个 ... -
DWR中数组的使用
2008-07-24 09:28 3572近日研究DWR,对于数组的转换始终有些不太明白,昨天终于了解了 ... -
Java open source forum大搜捕
2008-04-21 00:13 6643JIVE:这是个很多人非常熟悉的forum,可惜它3.0版本之 ... -
白话 Ajax 及其入门基础
2008-03-26 10:17 1729一、白话Ajax的原理 这个可以从 C/S 和 B/S 的原理 ... -
DWR入门教程之提示性文字
2008-03-25 15:40 2421DWR可以让您做个简单的 ... -
DWR入门教程之HelloWorld
2008-03-25 14:26 21203说明:这本是林信良(良葛格)的专栏 的文章,但是受不了繁体字的 ... -
2007年最新web2.0开源程序代码集合
2008-03-20 12:29 1818来自:http://www.prothink.cn/blog/ ... -
Web开发技术史话
2008-03-20 12:18 17191. 荒芜年代 1990-1 ... -
css教程–十步学会用css建站(全)
2008-03-19 12:58 2827本教程主要参考Creating a CSS Layout fr ... -
Tablesorter
2008-03-04 00:42 6227Tablesorter是一个非常好用的基于jQuery的表格排 ...
相关推荐
1. **对象和数组操作**:DWRUtil提供了对JavaScript对象和数组的操作方法,如`DWRUtil.getValue`用于获取表单元素的值,`DWRUtil.getValues`则可以获取一组元素的值,`DWRUtil.removeAllRows`用于清除表格的所有行。...
`DwrUtil.js`则是一些实用工具函数的集合,用于辅助DWR的使用,例如对象操作、数组处理、DOM操作等,它为开发者提供了一套方便的API,以提高开发效率。 在DWR 1.0和2.0这两个版本中,主要的改进和变化可能包括: 1...
DWRUtil是DWR(Direct Web Remoting)框架中一个非常重要的工具类,提供了一些实用的方法来操作HTML元素、处理数据和实现自动化任务。在本篇文章中,我们将详细介绍DWRUtil的各种方法和使用场景。 1. DWRUtil.$() ...
下面是DWR util.js中的主要功能: 1. $()函数:获取页面参数值 该函数用于获取页面参数值,例如:var name = $("name");获取名为“name”的表单值。 2. addOptions 和 removeAllOptions 函数:初始化下拉框 ...
DWRUtil是DWR框架中的一个工具类库,提供了一系列用于操作DOM元素、处理表单数据等功能的方法,极大地提高了Web应用的开发效率。 ### DWRUtil的主要功能方法 #### 1. DWRUtil.toDescriptiveString 该方法可以将DOM...
在 DWR 中,`dwrUtil` 是一个非常重要的工具类,提供了许多实用的方法来操作 DOM 元素以及处理数据传输等任务。本文将详细介绍 `dwrUtil` 的几个核心方法及其应用场景。 #### 二、详细解析 ##### 1. `$()` - **...
DWRUtil 中的 $() 函数用于获取页面参数值,它可以代替 document.getElementById 函数,但需要注意的是,在 IE5.0 中不支持该函数。例如, var name = $("name"); 可以获取名为 "name" 的表单元素的值。 2. ...
1. `DWRUtil` 是DWR提供的一个实用工具类,包含了多种用于操作DOM元素和数据的方法。例如: - `DWRUtil.selectRange("selectRangeBasic", 5, 15)`:此方法可以选中指定文本框中的特定字符范围,这里是从第五个字符...
在示例中,`DWRUtil.getValues({“txt_name”:null,”txt_pswd”:null})`将获取name分别为"txt_name"和"txt_pswd"的两个输入元素的value值,并将它们放入一个数组中。 4. `DWRUtil.setValue()`:此函数用于设置指定...
Direct Web Remoting (DWR) 是一种用于在Web应用程序中实现AJAX功能的库,它允许JavaScript和服务器端Java代码之间进行交互。在提供的描述中,我们看到了几个DWRUtil工具类的一些用法,这个工具类提供了许多方便的...
DWR (Direct Web Remoting) 是一种用于在Web应用程序中实现AJAX技术的Java库,它允许JavaScript与服务器端的Java代码进行交互,无需页面刷新即可更新部分网页内容。DWR简化了前后端数据交换的过程,提高了用户体验。...
标题“dwr.jar dwrUtil常见方法 dwr详细资料”指出,我们关注的核心是“dwr.jar”,这是一个包含Direct Web Remoting (DWR)框架核心库的Java档案文件。DWR是一种使Web应用程序能够执行服务器端JavaScript的方法,...
dwr包.rar dwr.jar engine.js util.js dwr-noncla.jar readme.txt JAR File: dwr.jar (1.08Mb) To DWR enable your web-app WAR File: dwr.war (4.62Mb) Demos/Examples of what DWR can do Sources: dwr-...
5. **`DWRUtil.getValues()`**:这个函数返回一个对象,其中包含了指定ID的元素值。例如,`div`、`textarea`、`select`、`text`、`password`、`formbutton`和`button`。在Java后端,这些值通常被解析为一个Map,便于...
- **对象数组形式**:`DWRUtil.addOptions(selectId, data, prop)`,其中`data`为包含text和value的对象数组,`prop`指定如何映射text和value。 - **不同text和value的对象数组**:`DWRUtil.addOptions(selectId, ...
部署DWR JAR文件通常涉及到将它们添加到Web应用的类路径中,配置DWR的`dwr.xml`配置文件,以及在客户端HTML页面中引入相应的JavaScript库。对于Spring框架的集成,还需要配置Spring的bean定义。 总的来说,DWR的...
1、 导入dwr.jar包 2、 在web.xml中配置dwr,如下: <!-- 配置DWR --> <servlet-name>dwr-invoker org.directwebremoting.servlet.DwrServlet <init-param> <param-name>debug</param-name> ...
- **dwr.xml**:这个文件用于描述DWR服务的配置,包括哪些类和方法可以被远程调用,以及如何处理这些调用的细节。例如,通过`<allow>`标签指定允许远程访问的类和方法,通过`<converters>`和`<creators>`标签指定...
- 首先确保项目中已经正确配置了DWR环境,包括导入DWR相关的jar包、配置web.xml和dwr.xml等。 - 在前端页面中引入DWR的JavaScript库。 2. **编写服务器端逻辑** - 在服务器端编写一个返回列表数据的方法,该方法...