这里是一个简单的介绍从服务器端获取文本来动态更新web页面的例子
sayHello.html
<html>
<head>
<title></title>
<script type='text/javascript' src='/DWR/dwr/interface/Person.js'></script>
<script type='text/javascript' src='/DWR/dwr/engine.js'></script>
<script type='text/javascript' src='/DWR/dwr/util.js'></script>
<script type="text/javascript">
/**
* auther:cong_px
* versin:1.0
*/
function update() {
var name = dwr.util.getValue('name');
Person.sayHello(name, function(data) {
dwr.util.setValue('replay', data);
});
}
</script>
</head>
<body>
<p>
<input type="text" id="name"/>
<input type="button" onclick="update()" value="Send"/>
<br/>
Replay : <span id="replay"></span>
</p>
</body>
</html>
当你点击"Send"按钮时,浏览器触发onclick事件,此次操作将调用update()函数:
function update() {
var name = dwr.util.getValue("demoName");
Person.sayHello(name, loadinfo);
}
dwr.util.getValue用于取得任何一个元素的值。
在服务器端,DWR调用Person.sayHello()方法。
public String sayHello(String name) {
return "Hello, " + name;
}
当方法调用返回的时候,DWR将调用loadinfo()函数,用于为span标签设值。
function loadinfo(data) {
dwr.util.setValue("demoReply", data);
}
dwr.util.getValue用于为任何一个元素的设值。
我们也可以把上面提到的两处js合并起来。如下:
function update() {
var name = dwr.util.getValue('name');
Person.sayHello(name, function(data) {
dwr.util.setValue('replay', data);
});
}