他的工作机制如下:
当你点击"发送"按钮时响应了onclick事件, 调用了 update() 函数:
function update() {
var name = dwr.util.getValue("demoName");
Demo.sayHello(name, loadinfo);
}
dwr.util.getValue() is a utility to get the value of any element, in this case an input field, but it could be a div or a select box.
由于dwr是异步javascript工作方式,所以当我们在后台等待http请求的返回时,不会中断web浏览器的显示。 所以一个被函数调用的参数 loadinfo 名,被调用的时候已经返回了。
在服务器端, dwr调用Demo.sayHello() java的方法:
public String sayHello(String name) {
return "Hello, " + name;
}
当这个方法返回时, dwr 调用了 loadinfo() 函数, 将文本返回了:
function loadinfo(data) {
dwr.util.setValue("demoReply", data);
}
dwr.util.setValue()是一个有用的东西它使你传入的第二个参数通过第一个参数的那个id值计算出适合html的标签。 这个函数使得javascript用起来更简单。
我们可以将2个javascript的函数一起写
function update() {
var name = dwr.util.getValue("demoName");
Demo.sayHello(name, function(data) {
dwr.util.setValue("demoReply", data);
});
这种方法在写从服务端返回10以内的行字符串是很有效的