DWR配置与使用详解:Java到Ajax的无缝对接
需积分: 0 146 浏览量
更新于2024-09-13
收藏 80KB DOC 举报
"这篇文档详细介绍了Direct Web Remoting (DWR) 的配置和用法,主要涵盖如何调用没有返回值和参数的JAVA方法以及有简单返回值的JAVA方法。"
DWR(Direct Web Remoting)是一种开源Java库,它允许Web应用程序在客户端JavaScript和服务器端Java之间进行实时的双向通信。DWR简化了Ajax(Asynchronous JavaScript and XML)的使用,将复杂的HTTP请求和响应处理封装在后台,使得开发者可以在JavaScript中直接调用Java方法。
1、调用没有返回值和参数的JAVA方法
要实现这一功能,首先需要在`dwr.xml`配置文件中设置允许的远程调用。配置如下:
```xml
<dwr>
<allow>
<create creator="new" javascript="testClass">
<param name="class" value="/com.dwr.TestClass"/>
<include method="testMethod1"/>
</create>
</allow>
</dwr>
```
在这个配置中,`<allow>`标签定义了可以被JavaScript访问的对象和方法。`<create>`标签指定了一个名为`testClass`的JavaScript对象,它对应于`/com.dwr.TestClass`这个Java类。`creator="new"`表示DWR会使用该类的默认构造函数创建新实例。`<include method="testMethod1">`则声明了JavaScript可以调用`testMethod1`方法。
在客户端JavaScript中,我们需要引入由DWR自动生成的`TestClass.js`,以及DWR的核心库`engine.js`和实用工具库`util.js`。之后,就可以在JavaScript中直接调用`testClass.testMethod1()`来执行服务器端的方法。
```html
<script src='dwr/interface/testClass.js'></script>
<script src="/dwr/engine.js"></script>
<script src="/dwr/util.js"></script>
<script>
function callTestMethod1() {
testClass.testMethod1();
}
</script>
```
2、调用有简单返回值的java方法
配置方法与调用无返回值方法基本相同,只需确保在`dwr.xml`配置文件中包含有返回值的方法。在JavaScript中,当服务器端方法执行完毕后,DWR会自动处理返回值,并将其传递给调用的JavaScript函数。
例如,如果`testMethod2`返回一个字符串,你可以这样调用并处理返回值:
```xml
<include method="testMethod2"/>
```
在JavaScript中:
```javascript
function callTestMethod2() {
testClass.testMethod2(function(response) {
// response即为testMethod2的返回值
console.log('Received response:', response);
});
}
```
总结来说,DWR提供了一种便捷的方式来实现Java和JavaScript之间的交互,使得开发者能够轻松地构建动态、响应式的Web应用。通过配置`dwr.xml`文件,我们可以控制哪些Java方法可以被JavaScript调用,以及如何处理这些调用的结果。同时,DWR自动生成的接口文件和提供的核心库使得前端代码的编写更加简洁。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2008-12-12 上传
2011-05-17 上传
2013-07-30 上传
2012-08-29 上传
2019-03-20 上传
2010-04-21 上传
陈园3435
- 粉丝: 1
- 资源: 2
最新资源
- matlab代码对齐-my-LaTex-study:我的乳胶研究
- when-2-not-meet:一种渐进式网络应用程序,彻底改变了计划安排
- pyg_lib-0.3.0+pt20-cp38-cp38-macosx_11_0_x86_64whl.zip
- rock-paper-scissors:gsg代码学院的第二项任务
- snipp-it:开发人员的社交媒体中心
- Tutoriales:存储库,将共享有关可为社区服务的编程语言,方法和其他技巧的不同教程和演示文稿
- dotnet 5 让 WPF 调用 WindowsRuntime 方法.rar
- GD32f1x的IAP-flash-rom-ymodem.zip
- fullstack-social-app:全栈
- 一个基于ChatGPT开发的终端AI助手.zip
- 示例应用
- technologi-backend-test:技术后端测试
- DEMENT:史蒂文·艾里森(Steven Allison)维护的酶学特性的分解模型
- subscription-manager:用于Candlepin的GUI和CLI客户端
- 判决matlab代码-beliefpolarization-psychreview-2014:“信念两极分化并不总是不合理”的代码和数据
- Artstation Discover-crx插件