私はウェブサイトから例をコピーしましたが、機能していません。理由を教えてください。Tomcat のコンソール ログに例外やエラーが記録されていません。
以下は私のファイル 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>
以下は、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>
以下は、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>
以下は、パッケージ構造 com.example.dwr にある私の Calculator.java クラスです
package com.example.dwr;
public class Calculator {
public int addNumbers(int a , int b) {
return (a + b);
}
}
DWR を初めて使用するので、この例の何が問題なのか教えてください ** 追加ボタンをクリックしても何も起こりません。実際には結果テキスト ボックスに結果が表示されるはずです **