`

dwr使用详解

    博客分类:
  • ajax
 
阅读更多
1、拷贝dwr.jar到项目的lib中
2、配置web.xml,添加:
 <servlet>
   <servlet-name>dwr-invoker</servlet-name>
 
   <servlet-class>org.directwebremoting.servlet.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>
3、新建dwr.xml,配置允许js调用的class
 <?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 creator="new" javascript="Hello" scope="page">
    <param name="class" value="demo.Hello" />
   </create>
  </allow>
 </dwr> 
如果有自定义类型可以考虑添加下面的配置在<allow>中
 <convert converter="bean" match="x.y.Bean"/>




现在你必须让DWR知道通过XMLHttpRequest对象,什么对象将会接收请求。这个任务由叫做dwr.xml的配置文件来完成。在配置文件中,定义了DWR允许你从网页中调用的对象。从设计上讲,DWR允许访问所有公布类的公共方法,但在我们的例子中,我们只允许访问几个方法。下面是我们示例的配置文件:

<dwr>

    <allow>

        <convert converter="bean" match="com.yd.pojos.Userss"/>

        <create creator="new" javascript="userAction" class="com.yd.imp.UserCol">

            <include method="getALlUser"/>

        </create>       

    </allow>

</dwr>  

上面的文件实现了我们例子中的两个目标。首先,<convert>标记告诉DWR将com.yd.pojos.Userss对象的类型转换为联合数组,因为,出于安全的原因,DWR默认的不会转换普通bean。第二,<create>标记让DWR暴露出com.yd.imp.UserCol类给JavaScript调用;我们在页面中使用JavaScript文件被javascript属性定义。我们必须注意<include>标记,它指明了com.yd.imp.UserCol类的哪些方法可用。


4、页面添加:
 <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/Hello.js"></script>

说明:Hello.js 对应dwr.xml  <create creator="new" javascript="Hello" scope="page">

5、自行设计调用处理方法
 <script type="text/javascript">
  function callback(str) 
  {
   alert(str);
  }
  function test()
  {
   Hello.sayHelloTo("zhangsan",callback);
  }
 </script>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics