《基于MVC架构的J2EE三层开发》第18章[DWR的综合应用]理论课(优选课资)_第1页
《基于MVC架构的J2EE三层开发》第18章[DWR的综合应用]理论课(优选课资)_第2页
《基于MVC架构的J2EE三层开发》第18章[DWR的综合应用]理论课(优选课资)_第3页
《基于MVC架构的J2EE三层开发》第18章[DWR的综合应用]理论课(优选课资)_第4页
《基于MVC架构的J2EE三层开发》第18章[DWR的综合应用]理论课(优选课资)_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、http:/DWR的综合应用的综合应用基于MVC架构的J2EE三层开发第18章http:/中国十大品牌IT教育机构本章目标本章目标理解理解DWR原理原理学会使用学会使用DWR开发项目开发项目http:/中国十大品牌IT教育机构系统功能界面系统功能界面 在前面的例子中,后台在前面的例子中,后台java对象返回的仅是一个字符串,对象返回的仅是一个字符串,那么前台那么前台js可不可以接受其它类型的返回值呢?当然是可可不可以接受其它类型的返回值呢?当然是可以,以,dwr中的中的js可以接收后台返回的可以接收后台返回的xml,字符串(整型,字符串(整型)和集合类型及)和集合类型及java对象。本例中,主

2、要示例对象。本例中,主要示例js解析解析java方法返回的集合类型,并展示方法返回的集合类型,并展示dwr.util工具包更多的用法工具包更多的用法。 http:/中国十大品牌IT教育机构系统功能界面系统功能界面 用户界面是用户界面是userManger.html,初始界面如下:,初始界面如下:http:/中国十大品牌IT教育机构系统功能界面系统功能界面 当用户在下拉框中选择一个地区时当用户在下拉框中选择一个地区时http:/中国十大品牌IT教育机构系统功能界面系统功能界面 点击修改按钮点击修改按钮http:/中国十大品牌IT教育机构后台业务实现后台业务实现 UserInfo.lava pac

3、kage java.dwr;/* 用于DWR在前台展示的用户对象*/public class UserInfoprivate int id;private int areaID;private String name;private int fixFee;public String toString()return id: +id+ areaID:+areaID+ name:+name+ fixFee:+fixFee;/ Getters, setters, equals omittedhttp:/中国十大品牌IT教育机构后台业务实现后台业务实现 UserManager.java/ 根据地区代号

4、提取用户列表public List getUserByAreaID(int areaID)System.out.println(AreaID : +areaID);List userList=new ArrayList();/模拟生成用户列表int count=new java.util.Random().nextInt(5)+4;for(int i=1;i=count;i+)userID+;UserInfo us=new UserInfo();us.setId(userID);us.setAreaID(areaID);us.setName(第+userID+个用户);us.setFixFee

5、(100*i);userList.add(us);return userList;http:/中国十大品牌IT教育机构后台业务实现后台业务实现 dwr.xml中加入如下配置中加入如下配置 http:/中国十大品牌IT教育机构测试测试dwr http:/中国十大品牌IT教育机构测试测试dwr如果如果UserInfo类为非类为非public,测试时将会看到如下错误:测试时将会看到如下错误:警告: Conversion error for java.util.ArrayL.directwebremoting.extend.MarshallException:Error marshall

6、ing java.dwr.UserInfo: Class org.directwebremoting.impl.PropertyDescriptorPropertycan not access a member of class java.dwr.UserInfo withmodifiers public. See the logs for more details.at org.directwebremoting.impl.PropertyDescriptorProperty.getValue(PropertyDescriptorProperty.java:70)at org.directw

7、ebremoting.convert.BasicObjectConverter.convertOutbound(BasicObjectConverter.java:188)at org.directwebremoting.dwrp.DefaultConverterManager.convertOutbound(DefaultConverterManager.java:192)at org.directwebremoting.convert.CollectionConverter.convertOutbound(CollectionConverter.java:206). . .http:/中国

8、十大品牌IT教育机构前台前台DWR调用代码调用代码 ./js脚本代码根据区域提取未处理客户:.http:/中国十大品牌IT教育机构前台前台DWR调用代码调用代码关键的几个事件说明如下关键的几个事件说明如下http:/中国十大品牌IT教育机构前台前台DWR调用代码调用代码dwr调用实现的调用实现的js代码代码/定义一个数组,用以缓存表中的用户信息var userCache = ;/填充用户区域下拉表-DWR调用function fillSelectUserArea()UserManger.getAreaMap(callBackFSU);/填充用户区域下拉表DWR调用的回调方法var callBa

9、ckFSU=function(areaList)DWRUtil.removeAllOptions(selectUserArea);DWRUtil.addOptions(selectUserArea, areaList);/根据selectUserArea组件选择值调用填充表格的函数function displayselectUserArea(sua)alert(选中的值是: +sua.value);fillTable(sua.value);其余的见代码http:/中国十大品牌IT教育机构集合类型的自动转换集合类型的自动转换dwr中可以自动将中可以自动将java的的Map对象中的键和值转化对象中

10、的键和值转化为为html seslect组件中的组件中的option,如下代码:,如下代码:/填充用户区域下拉表填充用户区域下拉表DWR调用的回调方法调用的回调方法var callBackFSU=function(areaList)DWRUtil.removeAllOptions(selectUserArea);DWRUtil.addOptions(selectUserArea, areaList);http:/中国十大品牌IT教育机构前台前台DWR调用代码调用代码java对象与对象与js对象的对接对象的对接(java-js中的对象转换中的对象转换 )/定义一个数组,用以缓存表中的用户信息va

11、r userCache = ;/提取用户列表的回设函数:userList中放的是用户象var callBack=function(userList) for (var i = 0; i userList.length; i+) theUser = userListi;/将用户保存到缓存中userCachetheUser.id = theUser;. . ./修改某个用户的事件处理:参数为用户IDfunction editUser(userID)/得到的是js中的UserInfo对象var user = userCacheuserID;alert(要修改的用户是: +user.id);. . .

12、http:/中国十大品牌IT教育机构前台前台DWR调用代码调用代码java对象与对象与js对象的对接对象的对接(js到到java中的对象转换中的对象转换 )/更新用户事件处理-DWR调用function updateUser() /创建一个js中的UserInfo对象,发送给服务器var user=new Object();user.id=dwr.util.getValue(spanuserid);user.areaID=dwr.util.getValue(iptarea);=dwr.util.getValue(iptname);user.fixFee=dwr.util.ge

13、tValue(iptfixFee);window.alert(要修改的用户为: +user.id);UserManger.updateUser(user,callbackForUDUser);http:/中国十大品牌IT教育机构前台前台DWR调用代码调用代码dwr中快捷的批赋值方法中快捷的批赋值方法/清除输入框中的用户数据function clearUserInput() dwr.util.setValues(spanuserid:null,iptname:null,iptarea:null, iptfixFee:null);/修改某个用户的事件处理:参数为用户IDfunction editUser(userID)/从js数组中取出用户对象var user = userCacheuserID;alert(要修改的用户是: +user.id);dwr.util.setValues(spanuserid:user.id,iptname:, iptarea:user.areaID,iptfixFee:user.fixFee);http:/中国十大品牌IT教育机构总结总结测试测试DW

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论