- 浏览: 1378839 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 4701花N长时间积累的Jquery插件,希望大家喜欢。大家 ... -
jquery cycle plugin
2009-11-04 15:38 2535‹‹ home jQuery Cycle Pl ... -
VIM技巧
2009-04-24 16:06 1822(1).w跳到下面一个单词(word) (2).b跳到上面一 ... -
HTML 特殊字符表
2009-04-01 16:01 1634With the exception of HTML 2.0 ... -
Web开发中不可缺少的浏览器相关工具
2009-03-24 13:45 1845整理了一些Web前端开发的资源,包括有浏览器开发工具,Micr ... -
jsp重定向forward和sendRedirect的比较
2008-12-05 12:28 7305JSP的重定向有两种:forw ... -
AJAX开发简略 (第一部分)7.1、AJAX应用到的技术
2008-11-14 12:18 1930在使用浏览器浏览网页的时候,当页面刷新很慢的时候,你的浏览器在 ... -
JSON的三个好处
2008-10-27 10:38 2490JSON的三个好处收藏 <script>f ... -
自定义可排序表格
2008-10-15 15:22 1978首先,定义一个js: tableSort.js: func ... -
深入分析dwr中的DWRUtil.$
2008-09-12 09:47 1358from:http://blog.csdn.net/pwl ... -
查看JSON对象结构
2008-08-25 10:37 4668在使用DWR时我们经常需要返回一个复杂的java对象,对于这个 ... -
DWR中数组的使用
2008-07-24 09:28 3522近日研究DWR,对于数组的转换始终有些不太明白,昨天终于了解了 ... -
Java open source forum大搜捕
2008-04-21 00:13 6611JIVE:这是个很多人非常熟悉的forum,可惜它3.0版本之 ... -
白话 Ajax 及其入门基础
2008-03-26 10:17 1686一、白话Ajax的原理 这个可以从 C/S 和 B/S 的原理 ... -
DWR入门教程之提示性文字
2008-03-25 15:40 2382DWR可以让您做个简单的 ... -
DWR入门教程之HelloWorld
2008-03-25 14:26 21139说明:这本是林信良(良葛格)的专栏 的文章,但是受不了繁体字的 ... -
2007年最新web2.0开源程序代码集合
2008-03-20 12:29 1784来自:http://www.prothink.cn/blog/ ... -
Web开发技术史话
2008-03-20 12:18 16841. 荒芜年代 1990-1 ... -
css教程–十步学会用css建站(全)
2008-03-19 12:58 2774本教程主要参考Creating a CSS Layout fr ... -
Tablesorter
2008-03-04 00:42 6186Tablesorter是一个非常好用的基于jQuery的表格排 ...
相关推荐
dwr1.0 dwr2.0 js包 DwrEngine.js+DwrUtil.js
DWR util.js中文详细解释,方便查询
DWRUtil.getValue('addOptionsBasic') 得到 addOptionsBasic 对象的值; DWRUtil.getValue("precloneNode1Inner1suf", { textContent:true }); 后面加个参数,在 precloneNode1Inner1suf元素为"UL" 时,它返回了元素...
DWR 实例 + DWR 深入 (源代码分析).doc dwr学习的实例
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-...
DWR的各种版本Jar文件——dwr2.0.5.jar、dwr2.0.6.jar、dwr3.rc1.jar
dwr学习资料,适合于中高级学员。dwr学习资料,适合于中高级学员。
DWR中文文档.pdfDWR中文文档.pdfDWR中文文档.pdfDWR中文文档.pdf
1、 导入dwr.jar包 2、 在web.xml中配置dwr,如下: <!-- 配置DWR --> <servlet-name>dwr-invoker org.directwebremoting.servlet.DwrServlet <init-param> <param-name>debug</param-name> ...
详细资料 dwrUtil常见方法 ajax dwr
DWR2.0 相关配置文件 DWR2.jar + DWR.xml + DWR2.0.dtd + Web.xml
DWR学习资料 :DWR 3.0 上传文件.txt DWR3.0反向Ajax示例.txt DWR3.0...多人聊天室.doc 反向Ajax技术实例.txt 基于DWR反向AJAX的Web监控系统.doc 深入学习DWR3.0.txt 实战dwr.doc 使用Jetty和DWR创建伸缩性Comet程序.txt
dwr是对ajax进行的封装,可简单的实现页面的无刷新。
取得dwr的dwr.jar包和其他dwr所需的其他jar包 web.xml dwr.xml 任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,。。 有几个术语有必要理解,参数叫做converted,远程Bean叫做created.如果远程Bean A有个方法A....
dwr20.dtd
DWR ,addOptions()填充下拉框,addRows()填充表格 希望对你的学习有所帮助,有不足的地方 感谢留言指点。。。。
开发Dwr所需的jar包,js文件:dwr.jar engine.js util.js
dwr中文文档dwr中文文档dwr中文文档dwr中文文档dwr中文文档dwr中文文档dwr中文文档
DWR3.0.jar、DWR的实例war和DWR2.0中文说明文档
dwr 2.jar dwr 2.jar