DWR推送–HelloWorld详解编程语言
编程语言 详解 8211 推送 HelloWorld DWR
2023-06-13 09:20:40 时间
servlet-name dwr-invoke /servlet-name
servlet-class org.directwebremoting.servlet.DwrServlet /servlet-class
init-param
param-name debug /param-name
param-value true /param-value
/init-param
init-param
param-name activeReverseAjaxEnabled /param-name
param-value true /param-value
/init-param
init-param
param-name initApplicationScopeCreatorsAtStartup /param-name
param-value true /param-value
/init-param
load-on-startup 1 /load-on-startup
/servlet
servlet-mapping
servlet-name dwr-invoke /servlet-name
url-pattern /dwr/* /url-pattern
/servlet-mapping
!-- End --
配置dwr.xml (放在和web.xml 同一个目录)
!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd" dwr !--定义了DWR能够创建和转换的类,以供 javascript 访问。-- allow !-- create 标签中指定 javascript 中可以访问的 java 类,并定义 dwr 应当如何获得要进行远程的类的实例。 其中 javascript=" testClass " 属性指定 javascript 代码访问对象时使用的名称。 creator是类构造器,creator="new" 属性指定 java 类实例的生成方式, new 意味着 DWR 应当调用类的默认构造函数来获得实例,其他的还有 spring 方式,通过与 IOC 容器 Spring 进行集成来获得实例等等。 -- create creator="new" javascript="CheckUserStatus" param name="class" value="com.lb.mil.service.CheckUserStatusService"/ /create /allow /dwr编写CheckUserStatusService
package com.lb.mil.service; import com.alibaba.fastjson.JSON; import com.lb.common.data.json.StatusResult; import com.lb.common.utils.ObjectUtils; import com.lb.mil.cache.EHCacheConfig; import com.lb.mil.cache.EHCacheUtil; import com.lb.mil.cache.data.UserState; import com.lb.mil.entity.MilInformation; import com.lb.mil.entity.MilInformationAttach; import org.directwebremoting.ScriptBuffer; import org.directwebremoting.ScriptSession; import org.directwebremoting.WebContext; import org.directwebremoting.WebContextFactory; import org.directwebremoting.proxy.dwr.Util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.Collection; import java.util.List; * Created by Administrator on 2016/7/18. public class CheckUserStatusService protected Logger logger = LoggerFactory.getLogger(CheckUserStatusService.class); public void check() //获取上线下线人员 //添加逻辑 ScriptBuffer scriptBuffer = new ScriptBuffer(); //构造js脚本 WebContext webContext= WebContextFactory.get(); String currentPage = webContext.getCurrentPage(); ScriptSession myScSession = webContext.getScriptSession(); if(ObjectUtils.isNotNull(offLineIds)||ObjectUtils.isNotNull(onlineIds)) //调用页面的show方法 scriptBuffer.appendScript("show(") .appendData(JSON.toJSONString(statusResult)) .appendScript(");"); //获取所有浏览当前页面的脚本session Collection ScriptSession sessions = webContext.getScriptSessionsByPage(currentPage); //获取请求页面的脚本session //ScriptSession sessions = webContext.getScriptSession(); Util util = new Util(sessions); util.addScript(scriptBuffer);
引用js文件(直接引用就行,路径dwr/是web.xml里面里的值,最后一个js,CheckUserStatus.js是dwr.xml里面create javascript属性值)
script type=text/javascript src=${pageContext.request.contextPath }/dwr/engine.js /script script type=text/javascript src=${pageContext.request.contextPath }/dwr/util.js /script script type=text/javascript src=${pageContext.request.contextPath }/dwr/interface/CheckUserStatus.js /script
页面body 里添加:
body onload="dwr.engine.setActiveReverseAjax(true);dwr.engine.setNotifyServerOnPageUnload(true,true);dwr.engine.setErrorHandler(function(){});"
相关文章
- struts2:上传多个文件时实现带进度条、进度详细信息的示范详解编程语言
- Java常用类及其常用方法详解编程语言
- java 定时备份数据库详解编程语言
- Drools 规则引擎—-向领域驱动进步(三)详解编程语言
- Python开发系列课程(9) – 面向对象编程基础详解编程语言
- HTML&CSS精选笔记_盒子模型详解编程语言
- $.extend()方法和(function($){…})(jQuery)详解编程语言
- node中使用consolidate后报错Cannot find module ‘ejs’详解编程语言
- json对象和字符串的相互转换详解编程语言
- Hibernate关联关系映射—多对多详解编程语言
- mybatis09–自连接一对多查询详解编程语言
- FunDA(17)- 示范:异常处理与事后处理 – Exceptions handling and Finalizers详解编程语言
- Scalaz(19)- Monad: // – Monad 版本的 Either详解编程语言
- Ext.state.Manager.setProvider(new Ext.state.CookieProvider())详解编程语言
- C语言之switch详解编程语言
- 实现border内边距与图片半透明详解编程语言
- jQuery获取选中的复选框详解编程语言
- java学习笔记01–数据类型详解编程语言
- CSS浏览器兼容性—-Hack详解编程语言
- Jsp获取Java的对象(JavaBean)详解编程语言
- Java NIO(5):IO与NIO的区别详解编程语言
- Java 去除字符串中的反斜杠”/”详解编程语言
- Invalid character found in method name. HTTP method names must be tokens详解编程语言
- Java基础-this关键字和构造方法详解编程语言
- FICO增强 – 检查/校验 BOOL_DATA参考类型确定详解编程语言
- 如何在事件AT SELECTION-SCREEN ON VALUE-REQUEST中取得选择画面字段输入值详解编程语言
- How to use ‘Goto statement’ to do backward debugging in ABAP 详解编程语言
- 接口和抽象类详解编程语言
- 程序验证本福特定律详解编程语言
- stark组件之pop操作【模仿Django的admin】详解编程语言