DWR使用教程:调用Java方法

需积分: 1 0 下载量 177 浏览量 更新于2024-10-11 收藏 41KB DOC 举报
"这篇学习笔记主要探讨了Direct Web Remoting (DWR) 的使用方法,包括如何在项目中集成DWR以及如何通过JavaScript调用Java方法。笔记详细介绍了两种情况:无返回值和参数的Java方法调用,以及有简单返回值的Java方法调用。" DWR是一种Java技术,它允许Web应用程序在客户端JavaScript和服务器端Java之间进行实时通信,实现了AJAX的功能。这篇笔记首先讲解了如何配置DWR以调用没有返回值和参数的Java方法。 1.1 配置DWR XML 在`dwr.xml`配置文件中,`<allow>`标签定义了可以暴露给JavaScript访问的对象和方法。`<create>`标签用于创建一个JavaScript可以访问的Java类实例,creator属性设为"new"表示使用默认构造函数创建对象。`javascript`属性设置了JavaScript中访问该对象的名称,`param`标签指定了Java类的全限定名,而`include`标签则指定了要公开给JavaScript调用的特定方法。 1.2 JavaScript调用 在JavaScript端,需要引入由DWR自动生成的接口文件(如TestClass.js),以及DWR的引擎文件(engine.js)和工具文件(util.js)。然后,可以直接通过JavaScript对象调用对应的Java方法,如`testClass.testMethod1();`。 接下来,笔记讨论了调用有简单返回值的Java方法。 2.1 配置与1.1相同 对于返回值的方法,DWR会自动将Java对象转换为JavaScript可以理解的格式。配置与调用无返回值的方法基本相同,只是在JavaScript调用时,方法会返回一个值,可以被捕获并处理。 2.2 JavaScript处理返回值 在JavaScript中,调用有返回值的Java方法后,可以像处理普通函数返回值一样处理结果。例如,如果`testMethod2()`返回一个字符串,可以这样调用和接收: ```javascript function callTestMethod2() { testClass.testMethod2(function(response) { var result = response; // 处理返回的值 // ... }); } ``` 这里的回调函数接收DWR转换后的返回值。 DWR还支持异步调用,提供了错误处理机制,以及对复杂数据类型的转换支持,使得Web应用能够更灵活地与服务器交互。在实际项目中,根据需求,还可以配置DWR以适应Spring等框架,实现更高级的集成和功能扩展。 总结,DWR提供了一种简便的方式来实现Java和JavaScript之间的交互,使得开发者能够创建动态、实时的Web应用,而无需深入理解底层的AJAX实现细节。这篇学习笔记为初学者提供了一个清晰的入门指南,帮助他们理解和应用DWR技术。