`
hgz123
  • 浏览: 107917 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

dwr的第二个例子(显示loading)

阅读更多

欢迎访问: www.ptcms.cn

相关配置和文档 如下:

---------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">

<dwr>

  <allow>

        <!-- Loading demo -->
    <create javascript="Loading" creator="new">
     <param name="class" value="cn.lh.dwr.Loading" />
    </create>
  </allow>

</dwr>

---------------------------------

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%
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>My JSP 'loading.jsp' starting page</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">
  <!--引入dwr的js脚本-->
  <script src="dwr/interface/Loading.js"></script>
  <script src="dwr/engine.js" /></script>
  <script src="dwr/util.js" /></script>
   <script type="text/javascript">
     function getuserinfor(){
      //显示loading界面:
      useLoadingMessage("正在与后台处理,请秒候. . .")
    
     var textinfor = dwr.util.getValue("text_id");
     Loading.getUser(textinfor,callback);
      }
     function callback(data){
      dwr.util.setValue(result,data);
     }
   /**loading*/
var useLoadingMessage = function(message) {
  var loadingMessage;
  if (message) loadingMessage = message;
  else loadingMessage = "Loading";
  dwr.engine.setPreHook(function() {
    var disabledZone = dwr.util.byId('disabledZone');
    if (!disabledZone) {
      disabledZone = document.createElement('div');
      disabledZone.setAttribute('id', 'disabledZone');
      disabledZone.style.position = "absolute";
      disabledZone.style.zIndex = "1000";
      disabledZone.style.left = "-400px";
      disabledZone.style.top = "0px";
      disabledZone.style.width = "100%";
      disabledZone.style.height = "100%";
      document.body.appendChild(disabledZone);
      var messageZone = document.createElement('div');
      messageZone.setAttribute('id', 'messageZone');
      messageZone.style.position = "absolute";
      messageZone.style.top = "0px";
      messageZone.style.right = "0px";
      messageZone.style.background = "blue";
      messageZone.style.color = "red";
      messageZone.style.fontFamily = "Arial,Helvetica,sans-serif";
      messageZone.style.padding = "4px";
      disabledZone.appendChild(messageZone);
      var text = document.createTextNode(loadingMessage);
      messageZone.appendChild(text);
      dwr.util._disabledZoneUseCount = 1;
    }
    else {
      dwr.util.byId('messageZone').innerHTML = loadingMessage;
      disabledZone.style.visibility = 'visible';
      dwr.util._disabledZoneUseCount++;
    }
  });
  dwr.engine.setPostHook(function() {
    dwr.util._disabledZoneUseCount--;
    if (dwr.util._disabledZoneUseCount == 0) {
      dwr.util.byId('disabledZone').style.visibility = 'hidden';
    }
  });


}
  
   </script>
  </head>
 
  <body>
    你的用户名:<br/>
    <input type="text" id="text_id"  onchange="getuserinfor();"/>
    返回的结果:
    <span id="result"></span>
  </body>
</html>
--------------------------------

package cn.lh.dwr;

public class Loading {

 public String getUser(String user){
  try {
   Thread.sleep(1000);
  } catch (InterruptedException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return "hello "+user+"当前服务器时间:"+System.currentTimeMillis() ;
 }
}
----------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
 xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 <!-- dwr -->
  <servlet>
    <servlet-name>dwr-invoker</servlet-name>
    <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>

    <!-- This should NEVER be present in live -->
    <init-param>
      <param-name>debug</param-name>
      <param-value>true</param-value>
    </init-param>

    <!-- Remove this unless you want to use active reverse ajax -->
    <init-param>
      <param-name>activeReverseAjaxEnabled</param-name>
      <param-value>true</param-value>
    </init-param>

    <!-- By default DWR creates application scope objects when they are first
    used. This creates them when the app-server is started -->
    <init-param>
      <param-name>initApplicationScopeCreatorsAtStartup</param-name>
      <param-value>true</param-value>
    </init-param>

    <!-- This enables full streaming mode. It's probably better to leave this
    out if you are running across the internet -->
    <init-param>
      <param-name>maxWaitAfterWrite</param-name>
      <param-value>-1</param-value>
    </init-param>

    <!--
    For more information on these parameters, see:
    - http://getahead.org/dwr/server/servlet
    - http://getahead.org/dwr/reverse-ajax/configuration
    -->

    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>dwr-invoker</servlet-name>
    <url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>
 
 <!-- /dwr -->
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

分享到:
评论
1 楼 weirihai 2008-11-27  
还能提供一些DWR的例子吗?已经如何使用啊!!我是刚学这个的希望提供具体的资料
我的邮箱weirihai0204@yahoo.com.cn

相关推荐

    学习dwr的一个例子

    总的来说,"学习dwr的一个例子"这个压缩包提供了一个实战平台,帮助初学者理解DWR的使用方法和它在实际项目中的应用,通过学习和研究这个例子,你将能够熟练地将DWR集成到你的Web应用中,提升Web应用的交互性和性能...

    dwr 例子

    在这个名为“dwr例子”的压缩包中,包含了一个名为“dwrdemo1”的示例项目。这个项目可能是一个简单的DWR应用,用于展示如何配置和使用DWR框架。下面,我们将详细讨论DWR的关键概念和使用方法。 1. **DWR配置**: ...

    DWR小代码小例子

    通过"TestDWR"这个例子,你可以学习如何设置DWR的基本环境,编写可远程调用的Java类,以及在前端使用DWR提供的JavaScript API进行交互。这是一个很好的起点,可以帮助你理解DWR的工作原理,并逐步掌握其在实际项目中...

    dwr 一个简单的例子

    dwr技术,怎样配置参照网上,这里提供前台页面和dwr配置文件。这里返回的是list数组和对象等,及怎样在页面进行展现。如果你没有用到spring ,则在dwr配置文件中creator="spring" 该为其他的生成方式。

    模拟dwr写的小例子

    在这个"模拟DWR写的小例子"中,我们将探讨DWR的基本原理、核心功能以及如何通过一个简单的实例来理解和应用DWR。 DWR的核心思想是提供了一种安全、高效的方法,使得JavaScript可以调用服务器上的Java方法,就像是...

    第一个DWR HelloWorld例子(附:详细说明)

    在这个"第一个DWR HelloWorld例子"中,我们将深入理解DWR的基本原理和操作流程,通过实践来学习如何搭建一个简单的DWR应用。 1. **DWR的基本概念** DWR的核心思想是创建一个安全的、高效的、易于使用的AJAX框架。...

    DWR小例子_DEMO

    这个"DWR小例子_DEMO"是帮助开发者理解并快速上手DWR的一个实践项目,其中包含了说明文件和必要的代码示例。 DWR的核心功能是允许前端JavaScript直接调用后端Java方法,仿佛它们是在同一环境中运行一样,消除了传统...

    一个DWR最简单的例子,不错的哦!

    这个“一个DWR最简单的例子”为我们提供了一个直观的学习DWR如何工作的起点。 首先,DWR的核心概念是远程方法调用(Remote Method Invocation, RMI)。在传统的Web应用中,JavaScript主要处理前端交互,而服务器端...

    DWR-J2EE 简单例子

    这个"简单例子"是为初学者准备的,旨在快速理解DWR的基本工作原理和使用方法。 **一、DWR基础** 1. **安装与配置** 在开始DWR的使用之前,需要将其添加到项目依赖中,通常通过Maven或Gradle来管理。配置DWR的核心...

    dwr反推简单例子

    在创建一个DWR反推例子时,你需要遵循以下步骤: 1. **配置DWR**:在你的项目中,你需要创建一个名为`dwr.xml`的配置文件,用于定义DWR允许暴露给JavaScript的Java类和方法。例如,你可以将一个名为`MyService`的类...

    Dwr最简单小例子

    标题"Dwr最简单小例子"指的是一个简化的DWR教程或示例项目,旨在帮助初学者快速理解和应用DWR。相比于官方文档可能涉及的复杂概念和配置,这个小例子以直观易懂的方式呈现了DWR的基本工作流程。 描述中提到"官网的...

    dwr+springJdbc例子

    总结来说,"dwr+springJdbc例子"展示了如何利用DWR实现实时的前后端交互,Spring提供依赖注入和数据访问抽象,而JDBC则负责与数据库的底层通信。这样的组合使得开发高效、灵活且易于维护的Web应用成为可能。理解并...

    dwr2.0最简单例子实用亲测试

    在“dwr2.0最简单例子实用亲测试”中,我们可以预期这是一个关于如何使用DWR 2.0版本的入门教程,包含了实际可运行的示例代码。下面将详细介绍DWR的基本概念和在这个实例中可能涉及的关键知识点: 1. **DWR的核心...

    DWR网页聊天例子

    在这个"网页聊天例子"中,我们将深入理解DWR如何用于创建一个实时的在线聊天应用。 1. **DWR基础** DWR的核心功能是提供了一种安全、高效的机制,使得JavaScript可以调用服务器上的Java方法。它通过在服务器端部署...

    dwr java推送例子 免积分

    这个"免积分"的例子可能是为了帮助开发者理解如何在DWR框架下实现实时的数据推送,而无需通过复杂的积分系统或者其他权限验证。这种推送技术在Web应用中非常有用,可以用来更新用户界面而无需手动刷新页面。 首先,...

    DWR简单测试例子

    下面我们将深入探讨DWR的工作原理、配置过程以及如何创建一个简单的测试例子。 1. DWR的工作原理: DWR的核心在于它提供了一种安全的、跨域的通信方式。它通过JavaScript接口(JSR-269或JSR-173注解)动态生成...

    DWR Ajax简单入门例子

    当用户访问这个页面时,DWR会自动调用`MyService.sayHello("John")`,并将返回的结果("Hello, John")通过回调函数显示出来。这就是DWR基本的Ajax通信过程。 **6. 错误处理和优化** 在实际应用中,你还需要考虑...

    dwr实例,dwr例子,能直接运行,很实用

    DWR(Direct Web Remoting)是一个开源的Java库,它允许Web应用程序在客户端JavaScript和服务器端Java之间进行双向通信,从而实现动态、实时的Web应用交互。DWR简化了Ajax开发,使得开发者可以轻松地调用服务器上的...

    dwr的几个小例子,dwr的几个小例子

    DWR提供了一个内置的调试工具——DWR Reverse Ajax Console,它可以帮助开发者查看和测试远程调用,便于调试和问题定位。 通过以上知识点,我们可以了解到DWR如何在Web应用程序中实现前后端的无缝交互。不过,实际...

    DWR 很实用的例子

    **DWR(Direct Web Remoting)实用案例** DWR 是一个开源 Java 库,它允许在浏览器和服务器之间进行实时的、双向的通信...这个例子不仅适用于初学者,也是有经验的开发者了解 DWR 最新特性和最佳实践的一个宝贵资源。

Global site tag (gtag.js) - Google Analytics