Ajax牛刀小试

使用了DWR框架,将数据库中城市列出在页面上

step1)web.xml中的配置

<servlet>
  <servlet-name>dwr-invoker</servlet-name>
 
  <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
  <init-param>
   <param-name>debug</param-name>
   <param-value>true</param-value>
  </init-param>
 </servlet>

 <servlet-mapping>
  <servlet-name>dwr-invoker</servlet-name>
  <url-pattern>/dwr/*</url-pattern>
 </servlet-mapping>

step2)dwr.xml

<!DOCTYPE dwr PUBLIC
    "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
    "http://www.getahead.ltd.uk/dwr/dwr10.dtd">

<dwr>
    <allow>
       
        <create creator="spring" javascript="SignupService">
            <param name="beanName" value="signupService" />
            <param name="location" value="applicationContext-baby-beans.xml" />
            <include method="loadGateway" />
        </create>
       
        <convert converter="bean" match="com.mofile.baby.domain.Area"/>
    </allow>


</dwr>



step3)测试页面
<html>
    <head>
        <script type='text/javascript' src='/dwr/interface/SignupService.js'></script>
        <script type='text/javascript' src='/dwr/engine.js'></script>
        <script type='text/javascript' src='/dwr/util.js'></script>
        <script type='text/javascript'>
            function showList() {
               
               
                SignupService.loadGateway (loadList);
               
                document.getElementById("xx").innerHTML ="loading....";
               
            }
           
            function loadList(data) {
              
               
               
                var list = data.arealist;
               
                var temparea;
               
                var listarea="";
               
                for(var i=0;i<list.length;i++){
                   
                    temparea = list[i];
                   
                    listarea = listarea + (i+1) +":" + temparea.name + "<br>";
                }
              
               
                document.getElementById("xx").innerHTML = listarea ;
               
               
               
            }
    </script>
    </head>

    <body>
        <INPUT type="button" value="ajax" οnclick="showList();">
        <div id="xx">
        </div>
    </body>
</html>

总结如下:

dwr.xml非常值得关注,在dwr中你需要配置你的service,这样可以通过js远程调用service,另外如果你返回的数据包含一些非典型的 java数据结构,比如list,map之类的话,你必须在dwr.xml中配置,一个典型的情况是你返回领域对象。如果你不配置,异步返回的数据会出现空 数据,因为dwr框架不知如何转化。

说白了,dwr框架调用远程service(在dwr中配置),然后根据将service返回的java对象转化为js对象,如何转换就需要你配置dwr.xml来告诉框架。

dwr的使用很简单,确实简化了ajax的开发。而且其文档也很详细。

参考文档: dwr官方网站
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值