HTML source:
<p>
Name:
<input type="text" id="demoName"/>
<input value="Send" type="button" οnclick="update()"/>
<br/>
Reply: <span id="demoReply"></span>
</p>
Javascript source:
var services = new dojox.rpc.Service({
target:"../dwr/jsonrpc",
transport:"POST",
envelope:"JSON-RPC-1.0",
contentType:"application/json",
services:{
"Demo.sayHello":{
returns:{"type":"string"},
parameters:[{"type":"string"}]
}
}
});
function update() {
var name = dojo.byId("demoName").value;
var deferred = services.Demo.sayHello(name);
deferred.addCallback(function(result) {
dojo.byId("demoReply").innerHTML = result;
});
}
Java source:
package org.getahead.dwrdemo.simpletext;
public class Demo {
public String sayHello(String name) {
return "Hello, " + name;
}
}
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="Demo">
<param name="class" value="org.getahead.dwrdemo.simpletext.Demo"/>
</create>
</allow>
</dwr>