DWR的使用

DWR是一种ajax的java实现,它提供了一种能在web浏览器端采用javascript语言直接调用后台业务逻辑组件的解决方。
一、下载dwr.jar,将dwr拷贝到lib目录下。
二、编辑配置web.xml文件。加入如下代码:
    <servlet>
    <servlet-name>dwr-invoker</servlet-name>
    <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
   
  </servlet>
   <servlet-mapping>
   <servlet-name>dwr-invoker</servlet-name>
   <url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
三、在WEB-INF/下增加dwr.xml文件,该文件负责java类与javascript之间的对应关系.
  <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr//dwr20.dtd">
<dwr>
  <allow>
   <create javascript="getAllMember" creator="new">
     <param name="class" value="shield.service.MemberService"/>
     <include method="getAllmember"/>
     <include method="getPageCount"/>
   </create>
   <convert match="shield.vo.MemberPO" converter="bean"></convert>
四、在需要使用dwr的页面导入如下js:
  <script type="text/javascript" src="/dwr/engine.js"></script>
  <script type="text/javascript" src="/dwr/util.js"></script>
  <script type="text/javascript" src="/dwr/interface/getAllMember.js"></script>/*getAllMember为dwr.xml文 件  中创建器所配置的javascript="getAllMember"*/

DWR转换器与创建器
转换器:将java实例转换成javascript对象.在dwr.xml文件中配置为<convert match=" converter=""></convert>.
有基本转换器:对基本数据类型的转换,无须显示打开.
对象转换器:对javabean的转换.<convert match="javabean的完整路径" converter="bean"></convert
数组转换器:默认打开.
集合类型转换器:默认打开.
创建器:
   <create javascript="getAllMember" creator="new|spring|struts">
     <param name="class|beanName|formBean" value="shield.service.MemberService"/>
     <include method="getAllmember"/>
     <include method="getPageCount"/>
   </create>
   有new创建器:   <param name="class" value=""/>
     spring创建器:<param name="beanName" value=""/>
     struts创建器:<param name="formBean" value=""/>
    Note:不同的creator对应不同的 <param name>

DWRUtil的使用:
1.访问html元素值
   DWRUtil.getValue():获取元素的值
    DWRUtil.setValue():设置元素的值
    DWRUtil.getValues():一次可获取多个html元素的值 
      var obj={
       txt:null, //txt为id值
       password:null,
       area;null,
       select:null
     };
     DWRUtil.getValues(obj);
     var result="";
     for(var name in obj){
       result+=obj[name]+"/n";
     }
    DWRUtil.setValues():一次可设置多个html元素的值
        var obj={
       txt:"mao",
       password:"123456",
       area:"湖南",
       select:"程序员"
     };
     DWRUtil.setValues(obj):
   2.处理表格:
    DWRUtil.addrows(tableID,array,funArray)//tableID一般为<tbody>的ID
    DWRUtil.removeAllRows(tableID);
   3.处理列表:
     a.数组,值与文本一样
       <select id="city"></select>
       var array=['请选择一个城市','北京','上海','广州'];
       DWRUtil.addOptions("city",array);
     b.对象数组:值与文本一样
        var array=[{name:'中国'},{name:'美国'},{name:'日本'}];
        DWRUtil.addOptions("id",array,"name");
     c.值与文本不一样
        var array=[
         {typeName:'男',typeID:'1'},
         {typeName:'女',typeID:'0'}
       ];
       DWRUtil.addOptions('id',array,'typeId(值)','typeName(文本)');
     d.对象属性名为值,对象属性值为文本
        var obj={city:'北京',country:'中国'};
       DWRUtil.addOptions("id",obj);
     e.为ul或ol添加项
        <ul id="city"></ul>
        var optionArr=['广州','北京','上海'];
       DWRUtil.addOptions("city",optionArr);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值