首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DWR:未定义dwr

DWR:未定义dwr
EN

Stack Overflow用户
提问于 2012-10-17 17:46:16
回答 3查看 8.6K关注 0票数 3

我是DWR的初学者。根据(http://directwebremoting.org/dwr-demo/simple/text.html)中的教程,我将dwr脚本放入了我的html文件。但当我运行应用程序时,它显示以下消息。

代码语言:javascript
运行
复制
ReferenceError: dwr is not defined
[Break On This Error]       
var name = dwr.util.getValue("demoName");

我的HTML文件是:

代码语言:javascript
运行
复制
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type='text/javascript' src='/dwr/engine.js'>    
</script>
<script type='text/javascript' src='/dwr/util.js'>

</script>
<title>Hello</title>
<script type="text/javascript">
    function update() {
        var name = dwr.util.getValue("demoName");
        Demo.sayHello(name, function(data) {
            dwr.util.setValue("demoReply", data);
        });
    }
</script>
</head>

<body>
    <p>
        Name: <input type="text" id="demoName" /> <input value="Send"
            type="button" onclick="update()" /> <br /> Reply: <span
            id="demoReply"></span>
    </p>
</body>
</html>

我的dwr.xml文件是:

代码语言:javascript
运行
复制
<!DOCTYPE dwr PUBLIC
    "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN"
    "http://getahead.org/dwr/dwr30.dtd">

<dwr>
    <allow>
        <create creator="new" javascript="Demo">
            <param name="class" value="com.dwr.my.Demo" />
        </create>
    </allow>
</dwr>

类文件为Demo.java

代码语言:javascript
运行
复制
package com.dwr.my;

public class Demo {

    public String sayHello(String name) {
        return "Hello, " + name;
    }

}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-18 00:29:34

该错误告诉您JavaScript上下文中不存在变量dwr

看起来您没有正确设置DWR。您对上一个答案的评论证实了这一点:Shows message "NetworkError: 404 Not Found - localhost:8080/dwr/engine.js"。如果找不到engine.js,那么您不会走得很远!

您是否按照此处列出的所有步骤来设置您的环境,以便可以调用DWR?:http://directwebremoting.org/dwr/introduction/getting-started.html

票数 1
EN

Stack Overflow用户

发布于 2012-10-17 19:34:13

请确保在web.xml中添加dwr servlet映射

代码语言:javascript
运行
复制
<servlet>
        <servlet-name>dwr-invoker</servlet-name>
        <display-name>DWR Servlet</display-name>
        <description>Direct Web Remoter Servlet</description>
        <servlet-class>
            org.directwebremoting.servlet.DwrServlet
        </servlet-class>

</servlet>
<servlet-mapping>
        <servlet-name>dwr-invoker</servlet-name>
        <url-pattern>/dwr/*</url-pattern>
    </servlet-mapping>

并将其添加到html文件中。

代码语言:javascript
运行
复制
<script type='text/javascript' src='/dwr/demo.js'>    
</script>
票数 1
EN

Stack Overflow用户

发布于 2012-10-18 13:13:21

在web.xml中实现dwr.xml、对应的java类和dwr servlet映射后,运行localhost:8080/DWR_tomcat/dwr/。然后,它将显示DWR.Then已知的类,单击我们的类名,它将显示类中声明的方法,并生成java脚本标记以添加到html文件中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12931505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档