ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:484.58KB ,
资源ID:7938159      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7938159.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于AJAX技术的DWR框架DWR中的JS库及回调机制和应用示例.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于AJAX技术的DWR框架DWR中的JS库及回调机制和应用示例.docx

1、基于AJAX技术的DWR框架DWR中的JS库及回调机制和应用示例目 录1.1 DWR中的JavaScript库 21.1.1 -util.js函数库 21.2 DWR中的回调机制 141.2.1 DWR中的回调机制及相关的应用示例 141.2.2 JavaScript Object Notation (JSON) 181.2.3 DWR 和 其它的框架的对比 231.2.4 J2EE安全性和DWR 251.1 DWR中的JavaScript库1.1.1 -util.js函数库1、DWR中的util.js函数库(1)作用util.js包含了一些工具函数来帮助我们用JavaScript数据(例如从

2、服务器返回的数据)来操作我们的web页面中的各个元素。2、addOptions方法的应用-DWRUtil.addOptions 的各种调用方法(DWR3.0以后为dwr.util. addOptions)(1)数组参数- DWRUtil.addOptions(selectid, array)应用示例: var arrayFive = One, Two, Three, Four, Five ;function testAddOptionsBasic() DWRUtil.addOptions(addOptionsBasic, arrayFive); if (DWRUtil.getValue(add

3、OptionsBasic) = One) success();if (DWRUtil.getText(addOptionsBasic) = One) success(); 注意:此形式的函数产生的列表框中的key和value相同。最后产生出如下的标签: One Two Three Four Five(2)对象数组(指定text)DWRUtil.addOptions(selectid, data, prop) 用每个数组元素创造一个option,option的值由数组中的value决定,而显示的内容则由数组中的name决定。 one two three 应用示例:var arrayObject

4、= name:One, value:1 , name:Two, value:2 , name:Three, value:3 , name:Four, value:4 , name:Five, value:5 ;function testAddOptionsObject1() DWRUtil.addOptions(addOptionsObject1, arrayObject, name); if (DWRUtil.getValue(addOptionsObject1) = 1) success(); if (DWRUtil.getText(addOptionsObject1) = One) su

5、ccess(); (3)对象数组(指定text和value值)DWRUtil.addOptions(selectid, array, valueprop, textprop) 用每个数组元素创造一个option,option的值(value属性)是对象的valueprop属性,option的文字(显示的文字)是对象的textprop属性。比如我们从服务器端获得了一个citylist的数据,要把这些数据放到id为city的一个下拉列表中,它有这么两个属性id和name-我们要用id作为下拉列表的value,而name作为下拉列表的text。那么需要这么写: DWRUtil.removeAllOp

6、tions(city); DWRUtil.addOptions(city, citylist, id, name);应用示例:var arrayObject = optionValue:One, optionText:1 , optionValue:Two, optionText:2 , optionValue:Three, optionText:3 , optionValue:Four, optionText:4 , optionValue:Five, optionText:5 ;function testAddOptionsObject2() DWRUtil.addOptions(addO

7、ptionsObject2, arrayObject, optionValue, optionText);if (DWRUtil.getValue(addOptionsObject2) = One) success(); if (DWRUtil.getText(addOptionsObject2) = 1) success(); (4)Map对象DWRUtil.addOptions(selectid, map, reverse)用每个属性创建一个option。对象属性名用来作为option的值,对象属性值用来作为属性的文字。应用示例:var map = one:1, two:2, three:

8、3, four:4, five:5 ;function testAddOptionsMap1() DWRUtil.addOptions(addOptionsMap1, map); if (DWRUtil.getValue(addOptionsMap1) = one) success(); if (DWRUtil.getText(addOptionsMap1) = 1) success(); 另一个例-如果reverse参数被设置为true,那么对象属性值用来作为选项的值。var map = one:1, two:2, three:3, four:4, five:5 ;function test

9、AddOptionsMap2() DWRUtil.addOptions(addOptionsMap2, map, true); if (DWRUtil.getValue(addOptionsMap2) = 1) success(); if (DWRUtil.getText(addOptionsMap2) = one) success(); (5)ol 或 ul 列表DWRUtil.addOptions(ulid, array) 用数组中的元素创建一堆li元素,他们的innerHTML是数组元素中的值。这种模式可以用来创建ul和ol列表。应用示例:var arrayFive = One, Two

10、, Three, Four, Five ;function testAddItemsBasic() DWRUtil.addOptions(addItemsBasic, arrayFive); (6)addOptions的其它方面的应用示例DWR的一个常遇到的任务就是根据选项填充选择列表。如果我们希望在我们更新了select以后,它仍然保持原来的选择,我们可以采用下面的实现方法:var sel = DWRUtil.getValue(id);DWRUtil.removeAllOptions(id);DWRUtil.addOptions(id, .);DWRUtil.setValue(id, sel

11、);另外,如果我们想加入一个初始的Please select. 选项,那么我们可以直接加入下面的语句:DWRUtil.addOptions(id, Please select .);然后再在下面紧接着加入我们真正的其它的各个选项数据。(7)所应该注意的问题 注意我们每次使用addOptions之前,需要先使用removeAllOptions来将下拉列表或者列表清空,否则下拉列表中的内容会一直累加。应用示例:function testRemoveOptions() DWRUtil.removeAllOptions(removeOptions);DWRUtil.addOptions(removeO

12、ptions, arrayFive); One Two Three Four Five 应用示例:function testRemoveItems() DWRUtil.removeAllOptions(removeItems); OneTwoThreeFourFive 另外需要注意的是javascript中的字符串最好用单引号而不要用双引号,否则可能又有一些莫名其妙的问题-还有就是引号要成对出现,不要一个单的一个双的。 这个函数所有的参数都是字符串。3、对表格操作的各个方法- addRows() 和 removeAllRows()(1)主要的功能DWR通过这两个函数来帮助我们动态操作table

13、- DWRUtil.addRows() 和 DWRUtil.removeAllRows() 。(2)方法的参数说明这两个函数的第一个参数都是table、tbody、thead、tfoot的id。一般来说最好使用tbody,因为这样可以保持我们的header和footer行不变,并且可以防止Internet Explorer的bug。(3)DWRUtil.removeAllRows() 方法的应用 用法:DWRUtil.removeAllRows(id); 描述:通过id删除table中所有行。 参数:id - table元素的id(最好是tbody元素的id)(4)DWRUtil.addRow

14、s()方法的应用 用法: DWRUtil.addRows(id, array, cellfuncs, options); 描述: 向指定id的table元素添加行。它使用数组中的每一个元素在table中创建一行。id:table元素的id(最好是tbody元素的id) array:数组(DWR1.1以后可以是对象),做为更新表格数据。 Cellfuncs:函数数组-DWR根据该函数数组实现从传递过来的行数据中提取单元格数据。 Options:一个包含选项的对象(见下面) ,选项包括:rowCreator:一个用来创建行的函数(例如,你希望个tr加个css). 默认是返回一个document.c

15、reateElement(tr) cellCreator:一个用来创建单元格的函数(例如,用th代替td). 默认返回一个document.createElement(td) 注意:每次在调用DWRUtil.addRows()方法时间,应该首先调用DWRUtil.removeAllRows() 方法,否则将产生累加的效果。应用示例1:var arrayFive = One, Two, Three, Four, Five ; /数组中的元素的个数为表格中的行数function testAddRowsBasic() DWRUtil.addRows( addRowsBasic, arrayFive,

16、 /函数数组中的元素的个数为表格中的列数function(arrayFiveElement) /它控制表格中的第一列中的数据显示方式 return arrayFiveElement; , function(arrayFiveElement) /它控制表格中的第二列return arrayFiveElement.toUpperCase(); /加工或者处理, function(arrayFiveElement) /它控制表格中的第三列 var tag=; return tag; var inputTagObj= document.createElement(input); / inputTagO

17、bj.setAttribute(type, button); / inputTagObj.setAttribute(value, DOM Test); inputTagObj.setAttribute(onclick, alert( + arrayFiveElement + );); return inputTagObj; ,function(arrayFiveElement) /它控制表格中的第四列 var inputTagObj= document.createElement(input); inputTagObj.setAttribute(type, button); inputTagO

18、bj.setAttribute(value, innerHTML Test); inputTagObj.setAttribute(onclick, alert( + arrayFiveElement + );); return inputTagObj; ); UnalteredAlteredDOM ButtonInnerHTML Button 注意:在应用中发现,如果采用document.createElement(input);方式时,其onclick事件不起作用;而改用产生HTML字符串的方式时,则onclick事件有效果-不知道是什么原因?。应用示例2:如果返回的数据中只有一条信息fun

19、ction showOneUserInfoByIDCallBackFun (returnOneUserInfoVO) var OneUserInfoArray = returnOneUserInfoVO; DWRUtil.addRows(userInfoItems, OneUserInfoArray, function(returnOneUserInfoVO) /该函数决定表格中的第一列 return returnOneUserInfoVO.userName; , function(returnOneUserInfoVO) /该函数决定表格中的第二列 return returnOneUserI

20、nfoVO.userDepartment; , function(returnOneUserInfoVO) /该函数决定表格中的第三列 return returnOneUserInfoVO.userAdminLevel; , function(returnOneUserInfoVO) /该函数决定表格中的第四列 return returnOneUserInfoVO.departAdminLevel; , function(returnOneUserInfoVO) /该函数决定表格中的第五列 var imageHtmlTag = document.createElement(img); imag

21、eHtmlTag.setAttribute(src, returnOneUserInfoVO.userImage); imageHtmlTag.setAttribute(width, 28); imageHtmlTag.setAttribute(height, 54); return imageHtmlTag; , function(returnOneUserInfoVO) /该函数决定表格中的第六列 return returnOneUserInfoVO.registerTime; );注意:页面中的表格定义1.2 DWR中的回调机制1.2.1 DWR中的回调机制及相关的应用示例1、DWR中的

22、回调机制(1)在DWR中是如何实现AJAX技术中的“异步”功能由于DWR是根据dwr.xml生成和Java代码类似的Javascript代码,因此在DWR中通过引入回调函数来实现Ajax的异步调用特性-当结果被返回时,DWR会调用这个回调函数。(2)回调函数定义的要求通常我们都需要传递外部信息给一个回调函数,因此所有的回调函数都应该只有一个参数-参数就是从远程方法返回的值-实现将服务器端的组件的方法的返回值给回调函数。 function callbackFunc(dataFromServer) / do something with dataFromServer and dataFromBro

23、wser 2、DWR中的回调机制的某个示例index function showTime() JDate.toString(callBackFun);callBackFun = function(toStringReturnTimeString) alert(当前的时间是:+toStringReturnTimeString); 点击我可以获得当前的时间 3、与RMI 或者 SOAP等其它的实现机制的不同这种从远程的 Java 方法到 Javascript 的方式给 DWR 使用者一个感觉,好像传统的 RPC 方式,比如 RMI 或者 SOAP,事实上与之相比 DWR 的优势在于它不需要任何浏览器插件或者某种客户端的代理程序。上面的图片显示了 DWR 怎样改变下拉列表的内容来作为 Javascript 事件(比如 onclick )的结果。此时,DWR

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1