DWR 如何实现在JAVA里调用javascript 里的方法?

DWR 如何实现在JAVA里调用javascript 里的方法?

在java 里去调用这个方法。

function a(){
alert("This a()!");
}

web.xml 中配置DWR
[code="java"]
dwr-invoker

org.directwebremoting.spring.DwrSpringServlet


调试DWR,发布系统时应将其设为false
debug
true

[color=red]
使用服务器推技术(反转AJAX)
activeReverseAjaxEnabled
true
[/color]


initApplicationScopeCreatorsAtStartup

true


maxWaitAfterWrite
-1

3


dwr-invoker
/dwr/*
[/code]

在页面中
//激活反射ajax
dwr.engine.setActiveReverseAjax(true);

在这种情况下才可以在代码里call页面的javascript

下面是DWR 3.0RC 中操作的相关代码
[code="java"]Browser.withCurrentPage(new Runnable() {
public void run() {
ScriptSessions.addFunctionCall("onlineUser", onlineUsers); // 参数一是页面的javascript函数,参数二是函数的参数
}
});[/code]

页面里的onlineUser:
[code="java"]/**
更新在线用户列表
*/
function onlineUser(onlineUsers){
if(onlineUsers){
$("#onlineUser").empty();
$(onlineUsers).each(function(i, user){
$("#onlineUser").append("

"+ user.userName +"");
});
}
}[/code]

补充一个讲解的页面:http://www.diybl.com/course/3_program/java/javajs/20090427/165648.html