fly.net.cn 发表于 2013-1-29 13:05:56

DWR

1.概述

  DWR(http://getahead.ltd.uk/dwr/http://wiki.springside.org.cn/images/icons/linkext7.gif) 是一种新的Ajax方式,有别于访问URL的传统模式,DWR自己在服务端作了一个通用的Service层Gateway(Proxy),使得客户端的 Javascript 可以直接操作远程的服务器端的Service层,再配合TrimPath JSTemplate 以Template而不是Dom Builder的方式将Service层返回的POJO渲染成复杂的页面,创造一种新的纯Ajax编程模式。
   时至今日,DWR的应用讲解已经很多,大家可以自己google。这里只讲几个重点:
   
[*]标准的安装与使用;   
[*]TrimPath JSTemplate的应用;   
[*]DWR2.0 推技术的应用。
   SpringSide在BookStore示例的图书管理--封面图片Ajax上传中,用DWR获取已上传部分的大小。
<a name="DWR-2.安装与使用" />2. 安装与使用

<a name="DWR-2.1下载DWR" />2.1 下载DWR

官方网站上最新版本2.0RC1,另外有时候最新版本需要到dwr.dev.java.net 下载。
<a name="DWR-2.2配置文件" />2.2 配置文件

使用springside构建件安装的话会自动生成配置文件,并修改WEB-INF/web.xml文件
如果要手工编写,见examples\bookstore\webapp\WEB-INF 目录中的范例文件
修改web.xml,增加dwr-invoker servlet
增加dwr.xml,配置导出的service服务及要转换到客户端javascript 的bean.
如果安全要求不严格,可以很简单就配完,如果严格就麻烦一点,见dwr.xml的注释。
<a name="DWR-2.3客户端调用" />2.3 客户端调用

<a name="DWR-1.引入DWR一个动态生成的JavaScript及两个标准的Utils.js:" />1.引入DWR一个动态生成的JavaScript及两个标准的Utils.js:

 Bookservice.js的名字在服务端dwr.xml里已定义
<div class="code"><div class="codeContent"><script src="<span" class="code-quote">"<c:url value="</span>/dwr/<span class=" code-keyword"="">interface/BookService.js"/>" type="text/javascript"></script>
<script src="<span" class="code-quote">"<c:url value="</span>/dwr/engine.js<span class=" code-quote"="">"/>" type="text/javascript"></script>
<script src="<span" class="code-quote">"<c:url value="</span>/dwr/util.js<span class=" code-quote"="">"/>" type="text/javascript"></script>
页: [1]
查看完整版本: DWR