2013-04-11 4 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); 
     } 

} 

Я новичок в ДВР, пожалуйста, дайте мне знать, что случилось с этим примером ** когда я нажимаю кнопку «Добавить», ничего не происходит, на самом деле результат должен появляться в текстовом поле результата **

+2

Вы пытались отладить ваш javascript и посмотреть, по крайней мере, на каком этапе это работает? –

+0

'var num1 = DWRUtil.getValue (" num1 "); вар пит2 = DWRUtil.getValue («пит2»); ' переменные в методе запроса не получают значения, Там только он перестал работать ' DWRUtil.getValue() не working' – snigdha

ответ

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>