81,094
社区成员
发帖
与我相关
我的任务
分享
1,java类
---------------------
public class Message{
public void sendMsg(String userid,String message){
final String userId = userid;
final String autoMessage = message;
//过滤器
ScriptSessionFilter filter = new ScriptSessionFilter() {
public boolean match(ScriptSession scriptSession) {
String tag = (String)scriptSession.getAttribute("userId" );
System. out.println(tag);
System.out.println("userId.equals(tag)="+userId.equals(tag));
return userId.equals(tag);
}
};
Runnable run = new Runnable(){
private ScriptBuffer script = new ScriptBuffer();
public void run() {
//设置要调用的 js及参数
System.out.println("----------------run----------------");
script.appendCall( "showMessage", autoMessage);
//得到所有ScriptSession
Collection<ScriptSession> sessions = DWRScriptSessionListener.getScriptSessions();
//遍历每一个ScriptSession
for (ScriptSession scriptSession : sessions){
System.out.println("for (ScriptSession scriptSession : sessions)");
scriptSession.addScript( script);
}
}
};
//执行推送
System.out.println("--------推送开始--------");
Browser.withAllSessionsFiltered(filter, run); //注意这里调用了有filter功能的方法
System.out.println("--------推送结束--------");
}
public void saveid(String userId){
try{
ScriptSession scriptSession = WebContextFactory.get().getScriptSession();
scriptSession.setAttribute("userId", userId);
}catch(Exception e){
e.printStackTrace();
}
}