实践总结ajax各种使用方式(下)

导读:
   介绍:
  DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本DWR0.6添加许多特性如:支持Dom Trees的自动配置,支持Spring(JavaScript远程调用spring bean),更好浏览器支持,还支持一个可选的commons-logging日记操作官方,本文版本是DWR2.0 ,具体详情请访问DWR官方网站。
   4.1、业务需求
  通过一个简单的二级菜单来说明DWR的使用
   4.2、业务实现
  前台页面:
  1一级菜单: 2
  •   3
  •   6
  •   9
      10 二级菜单:11
      1213
      js脚本:
      1 <script src="${ctx}/dwr/interface/ExamDictionaryManager.js"></script>
      2 <script type="text/javascript">
      3function findSub2(){4ExamDictionaryManager.findSubNameList(dwr.util.getValue("tct"),function(obj){5dwr.util.removeAllOptions("subCode");6dwr.util.addOptions("subCode",obj,'subCode','subName');7});8}
      9</script>
      上面引用的${ctx}/dwr/interface/ExamDictionaryManager.js是后台操作的业务类,在这需要声明
      findSub2()方法是触发一级菜单的值传到后台业务方法进行处理并返回
      dwr.util.removeAllOptions("subCode");是把二级菜单subCode值先清空
      dwr.util.addOptions("subCode",obj,'subCode','subName');是把二级菜单名称是subCode的以subCode为value,subName为text
      提示:DWR2.0与DWR1.1的区别,是传入参数和回调函数顺序不同
      DWR2.0:
      红色字体是表明是参数在前,回调函数在后
      1ExamDictionaryManager.findSubNameList(dwr.util.getValue("tct"),function(obj){2dwr.util.removeAllOptions("subCode");3dwr.util.addOptions("subCode",obj,'subCode','subName');4});5
      DWR1.1:
      红色字体表明是回调函数在前,参数在后
      1ExamDictionaryManager.findSubNameList(function(obj){2dwr.util.removeAllOptions("subCode");3dwr.util.addOptions("subCode",obj,'subCode','subName');4},dwr.util.getValue("tct"));5}
      dwr.xml文件
      1
      2
      5 6
      7 8
      9
      10
      11
      spring配置文件
      
      web.xml配置
      1
      2
      3 dwr-invoker
      4 uk.ltd.getahead.dwr.DWRServlet
      5
      6 debug
      7 true
      8
      9 1
      10
      1112
      13 dwr-invoker
      14 /dwr/*
      15
      业务方法:
      1public List findSubNameList(String typeCode) {23 String hql = "select distinct new map(d.subCode as subCode,d.subName as subName) from ExamDictionary as d "
      4 + "where d.typeCode =:typeCode"
      5 return createQuery(hql).setString("typeCode", typeCode).list();6 }
      7
      通过前台js脚本传入的参数返回查询的数据集合
      页面显示效果:
      至此,二级级联菜单功能已经完成,通过上述例子,可以发现DWR框架为我们处理我们之前用XML或JSON进行数据转换
      的功能,大大提高了开发者开发效率。

    本文转自
    http://www.blogjava.net/wuxj888java/archive/2008/01/08/173692.html
    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值