简体   繁体   English

DWR示例不起作用

[英]DWR example is not working

I copied the example from a website and it is not working, can anyone tell me what is the reason. 我从网站复制了该示例,但该示例无法正常工作,任何人都可以告诉我原因是什么。 I am not getting any exceptions or errors in the console log of tomcat. 我在tomcat的控制台日志中没有任何异常或错误。

below are my files dwrtest.jsp 以下是我的文件dwrtest.jsp

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>DIRECT WEB REMOTING (DWR) TEST APPLICATION</title>

        <base href="${pageContext.request.contextPath}">

        <!-- You have to include these two JavaScript files from DWR -->
        <script type='text/javascript' src='dwr/engine.js'></script>
        <script type='text/javascript' src='dwr/util.js'></script>

        <!-- This JavaScript file is generated specifically for your application -->
        <script type='text/javascript' src='dwr/interface/Calculator.js'></script>

        <script type='text/javascript'>

        function dwrAjaxRequest() {
            var num1 = DWRUtil.getValue("num1");
            var num2 = DWRUtil.getValue("num2");
            Calculator.addNumbers(num1,num2,dwrAjaxResponse);
        }

        function dwrAjaxResponse(result) {
            DWRUtil.setValue("resultText",result);
        }
      </script>
</head>
    <body>
        <h2>DWR SAMPLE APPLICATION</h2>
        <b>Number 1 : </b><input type="text" value="5" name="num1"/><br>
        <b>Number 2 : </b><input type="text" value="6" name="num2"/><br>
        <b>Result : </b><input type="text" value="" name="resultText"/><br>
        <input type="button" value="Add" name="go"  onClick="dwrAjaxRequest();"/>
    </body>
</html>

Below is the dwr.xml file copied in WEB-INF folder 下面是复制到WEB-INF文件夹中的dwr.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
    <allow>
        <create creator="new" javascript="Calculator">
            <param name="class" value="com.example.dwr.Calculator"/>
            <include method="addNumbers"/>
        </create>
    </allow>
</dwr>

Below is the web.xml under WEB-INF folder 以下是WEB-INF文件夹下的web.xml

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>

    <servlet>
        <servlet-name>dwr-invoker</servlet-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-app>

Below is my Calculator.java class which is in package structure com.example.dwr 下面是我的Calculator.java类,它位于包结构com.example.dwr中

package com.example.dwr;

public class Calculator {
      public int addNumbers(int a , int b) {
        return (a + b);
      }

}

I am new to DWR please let me know what is wrong with this example ** when i click the add button nothing happens, actually result should come in the result text box** 我是DWR的新手,请让我知道此示例的问题 **当我单击添加按钮时,什么也没有发生,实际上结果应该出现在结果文本框中**

try to expose whole class rather than a particular method,you can download a working example here 尝试公开整个类而不是特定的方法,您可以在此处下载一个有效的示例

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"      "http://getahead.org/dwr//dwr20.dtd">
<dwr>
<allow>
<create creator="new" javascript="forms">  
<param name="class" value="com.stringpool.demo.Status"/>  
</create> 
</allow>
</dwr>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM