JavaScud | Forum | JIRA | Blog |
  Dashboard > DWR中文文档 > Home > Getting Started
  DWR中文文档 Log In View a printable version of the current page.  
  Getting Started
Added by 黑灵, last edited by 黑灵 on Sep 25, 2006
Labels: 
(None)

如何开始用DWR

有两种方法开始DWR,简单的方式是下载WAR文件然后看看。但是这不能帮你知道如何轻松的把DWR整合到你的web应用中,所以还是推荐你按照下面的3个步骤做:

1. 安装DWR的Jar包

下载dwr.jar文件。把它放到你的webapp的WEB-INF/lib目录下。那里可能已经有很多其他的jar文件了。

2. 编辑配置文件

需要把下面的代码加到WEB-INF/web.xml文件中。<servlet>那部分需要和其他的<servlet>在一起,<servlet-mapping>部分也一样。

<servlet>
  <servlet-name>dwr-invoker</servlet-name>
  <display-name>DWR Servlet</display-name>
  <servlet-class>uk.ltd.getahead.dwr.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>

在WEB-INF目录下的web.xml旁边创建一个dwr.xml文件。可以从最简单的配置开始:

<!DOCTYPE dwr PUBLIC
    "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
    "http://www.getahead.ltd.uk/dwr/dwr10.dtd">

<dwr>
  <allow>
    <create creator="new" javascript="JDate">
      <param name="class" value="java.util.Date"/>
    </create>
    <create creator="new" javascript="Demo">
      <param name="class" value="your.java.Bean"/>
    </create>
  </allow>
</dwr>

DWR配置文件定义了那些DWR会创建提供远程调用的Javascript类。在上面的例子中我们定义了两个类来提供远程调用,并为其提供的Javascript类的名字。

在上面我们使用了new创建器,它会调用没有参数的构造函数来创建实例,但是所有JavaBean必须有这一构造函数。还要注意DWR有一些限制:

  • 不要出现Javascript保留关键字;和保留关键字同名的函数指定被排除。多数Javascript的关键字和Java是相同的。所以你不可能有一个方法叫做"try()"。但是该死"delete()"对与Javascript有着特殊意义,而对Java则不是。
  • Javascript方法重载是不支持的,所以尽量不要再Java中使用。

3. 访问下面的URL

http://localhost:8080/[YOUR-WEBAPP]/dwr/

你可以看见一个页面,里面有第二步中的类。接着往里点,你会看到所有可以调用的方法列表。这个页面是动态生成用来测试的例子。

自己动手试一下!

怎么在你的web应用中使用

在文档中有很多例子演示如何动态更改页面中的文字、更新列表、操作表单,还有直接更改table中的内容。每一个都有如何实现的介绍。

另一种方式是看刚才的页面中提供的代码:

到 http://localhost:8080/\[YOUR-WEBAPP\]/dwr/ 页面,点击你的类。查看源码,找到执行方法的那几行,把那些文字粘贴到你的HTML或JSP中。

要包括下面这些能产生神奇效果的Javascript文件的链接。

<script src='/[YOUR-WEBAPP]/dwr/interface/[YOUR-SCRIPT].js'></script>
<script src='/[YOUR-WEBAPP]/dwr/engine.js'></script>

你也可以把其中/[YOUR-WEBAPP]/替换成你的web页面的相对路径。

译者注:如果是JSP最好用request.getContextPath()

更多信息参见如何写与DWR交互的Javascript代码

如果它不能工作怎么办?

这里有一些常遇问题的解决

如果还没解决,可以加入邮件列表提问

sfsfsdfsd

Posted by Anonymous at Mar 27, 2007 17:25 | Reply To This

不错啊~!

Posted by Anonymous at Apr 11, 2007 08:25 | Reply To This

good

Posted by Anonymous at May 20, 2007 14:15 | Reply To This

Thank you very much!!!

Posted by Anonymous at May 23, 2007 11:33 | Reply To This

有这个东西太好了!!!!

Posted by Anonymous at Jun 08, 2007 14:14 | Reply To This

我咋就没看明白呢??、

Posted by Anonymous at Oct 30, 2007 14:32 | Reply To This

受益非浅

Posted by Anonymous at Jun 11, 2007 14:44 | Reply To This

要是能导出一份pdf出来就好了

Posted by Anonymous at Aug 06, 2007 18:25 | Reply To This

ding

Posted by Anonymous at Nov 12, 2007 10:30 | Reply To This

good

Posted by Anonymous at Nov 21, 2007 09:52 | Reply To This

出现"例外被抛出且未被接住"JS错误,请问是什么原因???

Posted by Anonymous at Nov 30, 2007 21:43 | Reply To This
Site running on a free Atlassian Confluence Open Source Project License granted to WebWork China. Evaluate Confluence today.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.5.3 Build:#808 May 29, 2007) - Bug/feature request - Contact Administrators