DWR Ajax框架教程:Java与JavaScript交互指南
需积分: 10 157 浏览量
更新于2024-09-20
收藏 6KB TXT 举报
"DWR(Direct Web Remoting)是一款开源的Ajax框架,用于在Web应用程序中实现JavaScript和Java之间的双向通信。本教程将详细介绍如何使用DWR进行Ajax开发。"
DWR(Direct Web Remoting)是一种JavaScript库,它使得在客户端浏览器和服务器端Java之间进行实时的、无需页面刷新的交互变得简单。DWR通过提供一套API,允许开发者使用JavaScript调用服务器上的Java方法,同时也能将服务器端的数据和处理结果实时更新到网页上。
### 1. 配置DWR
#### 1.1 `dwr.xml` 配置
`dwr.xml` 文件是DWR的核心配置文件,用于定义哪些Java类和方法可以被JavaScript访问。以下是一个简单的配置示例:
```xml
<dwr>
<allow>
<create creator="new" javascript="testClass">
<param name="class" value="com.dwr.TestClass"/>
<include method="testMethod1"/>
</create>
</allow>
</dwr>
```
在这个配置中,`<create>` 标签声明了一个名为 `testClass` 的JavaScript对象,它对应于 `com.dwr.TestClass` 类的新实例。`<include>` 标签指定了可以被JavaScript调用的方法 `testMethod1`。
#### 1.2 JavaScript 引入
为了在JavaScript中使用DWR,你需要引入以下三个JavaScript文件:
1. `dwr/interface/testClass.js` - 这个文件由DWR自动生成,包含了与Java类 `TestClass` 相关的接口。
2. `dwr/engine.js` - DWR的核心引擎,提供基本的远程调用功能。
3. `dwr/util.js` - 提供一些实用工具函数,如类型转换等。
在HTML页面中,你需要将这些脚本链接到页面头部:
```html
<script src='dwr/interface/testClass.js'></script>
<script src='dwr/engine.js'></script>
<script src='dwr/util.js'></script>
```
### 2. 调用Java方法
#### 2.1 在JavaScript中调用Java方法
调用配置好的Java方法非常简单。例如,要调用 `testMethod1`:
```javascript
function callTestMethod1() {
testClass.testMethod1();
}
```
上述代码会在用户触发 `callTestMethod1` 函数时执行 `testMethod1` 方法。
#### 2.2 处理回调函数
对于返回值需要进一步处理的情况,你可以使用回调函数。例如,增加一个 `testMethod2` 并处理其返回值:
```javascript
function callTestMethod2() {
testClass.testMethod2(callBackForTestMethod2);
}
function callBackForTestMethod2(result) {
// 处理result,这通常包含了testMethod2的返回值
// ...
}
```
在这个例子中,`callBackForTestMethod2` 函数会在 `testMethod2` 执行完毕并返回结果后被调用。
### 总结
DWR为开发者提供了一种简便的方式来进行Ajax开发,简化了JavaScript与Java之间的通信。通过合理的配置和简单的JavaScript调用,可以实现动态的Web页面交互,提升用户体验。在实际应用中,DWR还支持更多高级特性,如批量调用、错误处理、异步调用等,为Web应用程序带来了更多的可能性。
2015-08-08 上传
2009-06-24 上传
2019-03-16 上传
2011-03-07 上传
2008-06-20 上传
2009-02-06 上传
2010-01-19 上传
2012-02-08 上传
2008-10-06 上传
xwxuwei
- 粉丝: 0
- 资源: 7
最新资源
- N10SG快速开发手册-基础资料.zip
- CC_VC
- dosh:在一个正在运行的容器中打开外壳
- dotnet6创建进程Process.Start设置UseShellExecute在Windows下对性能的影响
- XXXLoopView:一个好用的轮播组件,使用场景包含图片轮播,视频上局部等,轮播ItemView自定义
- pyg_lib-0.3.1+pt20cpu-cp311-cp311-linux_x86_64whl.zip
- 判决matlab代码-asym-free-recall:一项检验记忆中语义相关性和组织的心理学研究
- AlgorithmAndJavaTraining:学习基础数据结构,基础算法,Java基本语法等,整理和编程实现
- sistemaM:市政档案系统
- ProjectRival:高级设计的最终项目; 使用Unity编写并用C#编写的2D格斗游戏
- Python库 | datastack-0.0.11-py3-none-any.whl
- mmpc-wl-开源
- dotnet 6 精细控制 HttpClient 网络请求超时.rar
- stm32
- 判决matlab代码-enthalpy:焓
- Silverlights Out-通过示例介绍Silverlight