DWR示例程序

时间:2011-07-08 11:30:25

标签: javascript dwr

我正在尝试使用直接网络远程处理编写示例程序。浏览网站http://directwebremoting.org/有一些基本问题。请帮帮我

尝试该计划的内容http://directwebremoting.org/dwr-demo/simple/text.html

  1. 在哪里保存html和javascript代码以及用什么名字???
  2. 他们说要包含2个脚本(engine.js和util.js)。在哪个页面我应该包括这两个。
  3. 他们也给了一个java代码,现在在哪里保存???

2 个答案:

答案 0 :(得分:10)

要从DWR开始,您必须在

创建dwr.xml文件
  

/WEB-INF/dwr.xml

将dwr.jar文件添加到

  

/WEB-INF/lib/dwr.jar

如果未创建 lib 文件夹,则创建它。

如何使用kwno,DWR使用servlet类来实现功能,因此必须声明它们必须如何工作。您必须修改web.xml文件以告知DWR它是一个servlet。

    ...
    <servlet>
      <display-name>DWR Servlet</display-name>
      <servlet-name>dwr-invoker</servlet-name>
      <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
      <init-param>
        <param-name>jsonpEnabled</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>
   ...

您可以测试DWR配置到

    http://yourapp:port/dwr

检查 yourapp 是否为您应用的名称, port 是指定端口的编号。

现在你必须创建一个与DWR和JSP页面交互的类控制器。像这样的东西

com.dwr.test.MyController

     public class MyController {
          public String doSomething() {
              return "example" ;
          }
     }

你必须告诉DWR这是一个控制器,所以在你的dwr.xml文件中你必须写

    <create creator="new" javascript="mycontroller">
        <param name="class" value="com.dwr.test.MyController "/>
     </create>

检查一下 的的javascript = “myController的”
是你将如何从JSP页面调用java类控制器

现在您与App控制器和DWR建立了控制器连接。

稍后,您必须告诉您的JSP页面控制器使用了什么。

我以index.jsp为例

    <html>
    <head>
    <script type='text/javascript' src='/webbitacora/dwr/util.js'></script>
    <script type='text/javascript' src='/webbitacora/dwr/engine.js'></script>
    <script type='text/javascript' src='/webbitacora/dwr/interface/mycontroller.js'></script>
    ...

这个东西怎么样?两个脚本行(util一个引擎)对DWR至关重要,这是DWR用来工作的主要场景。 第三行是您最近在drw.xml文件中声明的Controller的名称。您不需要创建此文件,DWR负责创建此文件。

现在你可以将你的方法用于任何HTML控制器,javascript函数或其他任何东西

    mycontroler.doSomething({
        callback : function (data){
            alert(data) ;
        } 
    });

了解更多方法,传递参数参数我建议您访问DWR的网页

http://directwebremoting.org/dwr/index.html

答案 1 :(得分:3)