2013-04-11 110 views
0

我复制了网站的示例,它不起作用,谁能告诉我是什么原因。 我没有在tomcat的控制台日志中发现任何异常或错误。DWR示例不起作用

下面

是我的文件 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> 

下面是dwr.xml的文件中的WEB-INF文件夹复制

<?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> 

下面是在web.xml在WEB-INF文件夹下

<?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> 

下面是我Calculator.java类,这是在封装结构com.example.dwr

package com.example.dwr; 

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

} 

我是新来DWR请让我知道什么是错的这个例子 **当我点击添加按钮没有任何反应,其实结果应该进来的结果文本框中**

+2

您是否试图调试您的JavaScript,并且至少看到它的工作原理? – 2013-04-11 07:16:24

+0

'var num1 = DWRUtil.getValue(“num1”); var num2 = DWRUtil.getValue(“num2”);' 请求方法中的变量没有获取值,只有它停止工作 'DWRUtil.getValue()is not working' – snigdha 2013-04-11 07:41:14

回答

0

尝试揭露整个类,而不是特定的方法,你可以下载一个工作示例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>