ホームページ >ウェブフロントエンド >htmlチュートリアル >dwr_html/css_WEB-ITnose を使用したページプッシュの簡単な例

dwr_html/css_WEB-ITnose を使用したページプッシュの簡単な例

WBOY
WBOYオリジナル
2016-06-24 11:50:44861ブラウズ

実装関数: sendMsg.jsp はメッセージをバックグラウンドに送信し、バックグラウンドはメッセージを showMsg.jsp ページにプッシュします。

1. Web.xml の設定、web.xml に次の内容を追加します:

<!-- 使用DWR进行页面消息推送  -->	<servlet>		<display-name>DWR Servlet</display-name>		<servlet-name>dwr-invoker</servlet-name>		<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>		<init-param>			<param-name>debug</param-name>			<param-value>true</param-value>		</init-param>				<!-- 使用polling和comet的方式 -->		<init-param>			<param-name>pollAndCometEnabled</param-name>			<param-value>true</param-value>		</init-param>		<load-on-startup>1</load-on-startup>	</servlet>		<servlet-mapping>		<servlet-name>dwr-invoker</servlet-name>		<url-pattern>/dwr/*</url-pattern>	</servlet-mapping>

2. dwr.xml の設定

<!DOCTYPE dwr PUBLIC    "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN"    "http://getahead.org/dwr/dwr30.dtd"><dwr>  <allow>  <!-- 这里的javascript 值就是页面引用的第三个js文件的名称-->    <create creator="new" javascript="SendMsg">      <param name="class">iwco.dwrs.SendMsg</param>      </create>  </allow></dwr>

3. Java クラス SendMsg.java

リーリー
4. ページ

sendMsg.jsp

package iwco.dwrs;import java.util.Collection;import org.directwebremoting.ScriptBuffer;import org.directwebremoting.ScriptSession;import org.directwebremoting.WebContext;import org.directwebremoting.WebContextFactory;import org.directwebremoting.proxy.dwr.Util;public class SendMsg {	 @SuppressWarnings("deprecation")  	    public void sendMsg(String msg){	        //得到上下文  	        WebContext contex = WebContextFactory.get();  	          	        //得到要推送到 的页面  dwr3为项目名称 , 一定要加上。  	        Collection<ScriptSession> sessions = contex.getScriptSessionsByPage("/dwrTest/showMsg.jsp");	          	        //不知道该怎么解释这个 ,   	        Util util = new Util(sessions);	          	        //下面是创建一个javascript脚本 , 相当于在页面脚本中添加了一句  show(msg);   	        ScriptBuffer sb = new ScriptBuffer();  	        sb.appendScript("show(");  	        sb.appendData(msg);  	        sb.appendScript(")");  	          	        //推送  	        util.addScript(sb);  	    }  }

showMsg.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <base href="<%=basePath%>">    <title>sendMsg.jsp</title>	<meta http-equiv="pragma" content="no-cache">	<meta http-equiv="cache-control" content="no-cache">	<meta http-equiv="expires" content="0">    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">	<meta http-equiv="description" content="This is my page">		<script type="text/javascript" src="/dwrTest/dwr/util.js"></script>    	<script type="text/javascript" src="/dwrTest/dwr/engine.js"></script>  	<script type="text/javascript" src="/dwrTest/dwr/interface/SendMsg.js"></script>   	<script type="text/javascript" src="/dwrTest/js/jquery.min.js"></script>	<script type="text/javascript">      $(function(){          dwr.engine.setActiveReverseAjax(true);          $("#but").click(function(){            SendMsg.sendMsg($("#msg").val());          });      });  </script>   </head>    <body>  	 <input type="text" id="msg"  />      <input type="button" value="发送" id="but" />    </body></html>


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。