有人能解决 吗 本帖最后由 arborous 于 2009-07-16 09:51:46 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 自己先顶下在DWR2中 org.directwebremoting.proxy.dwr.Util; 用这个的时候 ScriptSession session = this.getScriptSession(receiverid, request); Util util = new Util(session); util.setValue("msg", msg); 这样就会把消息发送给指定的用户了,而不是所有的用户 最近也在做这个,正愁怎么解决呢。我的需求是,后台有线程一直在跑,如果有新消息,要主动推送给相应的用户。现在遇到的问题是怎么把登录的用户与Scriptsession绑定。页面不传request给后台线程。 不知楼主解决没有!最近看到一个好的文档// 推给所有用户 Browser.withAllSessions(new Runnable() { public void run() { Util.removeAllOptions("users"); Util.addOptions("users", users, "name"); Util.removeAllOptions("receiver"); Util.addOptions("receiver", users, "name"); } }); // 推给指定用户 Browser.withCurrentPageFiltered(new ScriptSessionFilter() { public boolean match(ScriptSession session) { if (session.getAttribute("user") == null) return false; else return ((User) session.getAttribute("user")).getName() .equals(receiverid); } }, new Runnable() { public void run() { Collection<ScriptSession> colls = Browser.getTargetSessions(); for (ScriptSession scriptSession : colls) { scriptSession.addScript(initFunctionCall( "dwr.util.setValue", "sender", sender)); scriptSession.addScript(initFunctionCall( "dwr.util.setValue", "msg", msg)); } } }); 熟悉jacob的朋友进来帮一下忙 struts有哪些常用标签? 接收数据的JSP页面文本数据是否为空的判断问题: 分页时,如何将上一页选定的记录和当前页的记录传到一个处理页面?? 求毕业设计 进销存管理系统 探讨一个与 51job 有关的技术问题 client与servlet交互的问题 如何配置一个java的环境? 熟悉webObject的朋友請幫忙 我在分页时用了rs.last();rs.getRow();但没有数据时,会出现非法的游标状态?我应怎么办? 向高手求解 struts2 jsp上传文件的类型限制,怎么在文件打开对话框的文件类型上实现限制
在DWR2中 org.directwebremoting.proxy.dwr.Util;
用这个的时候
ScriptSession session = this.getScriptSession(receiverid, request);
Util util = new Util(session);
util.setValue("msg", msg);
这样就会把消息发送给指定的用户了,而不是所有的用户
我的需求是,后台有线程一直在跑,如果有新消息,要主动推送给相应的用户。
现在遇到的问题是怎么把登录的用户与Scriptsession绑定。
页面不传request给后台线程。
Browser.withAllSessions(new Runnable() {
public void run() {
Util.removeAllOptions("users");
Util.addOptions("users", users, "name");
Util.removeAllOptions("receiver");
Util.addOptions("receiver", users, "name");
}
});
// 推给指定用户
Browser.withCurrentPageFiltered(new ScriptSessionFilter() {
public boolean match(ScriptSession session) {
if (session.getAttribute("user") == null)
return false;
else
return ((User) session.getAttribute("user")).getName()
.equals(receiverid);
}
}, new Runnable() {
public void run() {
Collection<ScriptSession> colls = Browser.getTargetSessions();
for (ScriptSession scriptSession : colls) {
scriptSession.addScript(initFunctionCall(
"dwr.util.setValue", "sender", sender));
scriptSession.addScript(initFunctionCall(
"dwr.util.setValue", "msg", msg));
}
}
});