`

DWR--一个无刷新页面表格更新的例子(一)

    博客分类:
  • DWR
阅读更多

这一篇我用dwr做了个可以不刷新页面就更新的表格。
screen.jpg
运行环境:
windows xp pro sp2
j2sdk1.2.4_03
weblogic8.1
struts1.2.4
开发工具eclipse3.0
其实dwr和struts没有什么关系,只不过最近我们项目组在用struts作东西。我就顺便用把我的程序建立在Struts上。
主要文件。
dwr.jar--dwr的类库包
struts的类库包,具体我不说了,这东西谁都知道。
jdts0.9.jar--数据库SQLServer的驱动程序包。
以上jar包放在WebContent\WEB-INF\lib下
web.xml--谁都知道这东西干嘛用的吧。
struts-config.xml --这个也不说了。
dwr.xml -- dwr的配置文件
weblogic.xml -- weblogic模块配置文件。
还有一个struts的tld就不说了
以上文件放在WebContent\WEB-INF下面。
login.jsp -- 登陆界面,这里我也用到了dwr
showtable.jsp --登陆成功会转到这个页面,一个ajax表格。
showtable.js -- showtable.jsp中用到的javascript
main.css -- 不说了
还有 *.gif界面要到的图片
以上文件放在WebContent下
剩下的就是java类了。
LoginAction.java --Struts的Action,负责登陆
TableAction.java --Struts的Action,负责表格内容初始化
UserLogic.java --负责验证用户
TableRowConverter.java -- 继承于dwr的BeanConverter,负责将一个对象转成javascript能用的东西。
LoginForm.java --Struts的Form,负责登陆信息
TableModelBean.java --TableModel一部分给struts用一部分给dwr用。
TableRowBean.java 用户存放行信息的Bean。
ModelOneDAO.java --随便取的名字,有点恶(三声)。负责从数据库操作的。

这个例子还需要一个数据库,我用的是SQLServer。
下面是建表的SQL语句。输入数据的SQL就不贴了太长了。我会弄个源码下载的。

/*==============================================================*/
/* DBMS name:      Microsoft SQL Server 2000                    */
/* Created on:     2005-8-1 13:21:33                            */
/*==============================================================*/


if exists (select 1
            
from  sysobjects
           
where  id = object_id('AJAX_MODEL_ONE'
)
            
and   type = 'U'
)
   
drop table
 AJAX_MODEL_ONE
go



/*==============================================================*/
/* Table: AJAX_MODEL_ONE                                        */
/*==============================================================*/
create table AJAX_MODEL_ONE (
   col1                 
int                  not null
,
   col2                 
int                  not null
,
   col3                 
int                  not null
,
   
constraint PK_AJAX_MODEL_ONE primary key
  (col1)
)
go

接下来是写业务逻辑
Login.java

/**//*
 * Created on 2005-7-29
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 
*/

package org.mstar.strutsajax.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.mstar.strutsajax.ajax.UserLogic;
import org.mstar.strutsajax.form.LoginForm;

/**//**
 * @author matianyi
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 
*/

public class LoginAction extends Action {

    
/**//* (non-Javadoc)
     * @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
     
*/

    
public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) throws Exception 
{
        
if(validateUser((LoginForm)form)){
            
return mapping.findForward("success");            
        }
 else {
            
return mapping.findForward("failure");
        }
        
    }

    
    
private boolean validateUser(LoginForm form){
        UserLogic userLogic 
= new UserLogic();
        
return userLogic.validate(form.getUsername(),form.getPassword());        
    }

}

UserLogic.java

package org.mstar.strutsajax.ajax;

/**//**
 * @author matianyi
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 
*/

public class UserLogic {
    
public boolean validate(String username,String password){
        
if("mty".equals(username)&&"123".equals(password)){
            
return true;
        }
 else {
            
return false;
        }

    }

}

LoginForm.java

package org.mstar.strutsajax.form;

import org.apache.struts.action.ActionForm;

/**//**
 * @author matianyi
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 
*/

public class LoginForm extends ActionForm {
    
private String username;
    
private String password;

    
/**//**
     * @return Returns the password.
     
*/

    
public String getPassword() {
        
return password;
    }

    
/**//**
     * @param password The password to set.
     
*/

    
public void setPassword(String password) {
        
this.password = password;
    }

    
/**//**
     * @return Retu
分享到:
评论
1 楼 vip02 2008-07-14  
继续发吧  ,我  等着这个  DWR的 第二个帖子

相关推荐

    简单使用dwr完整例子

    将DWR与SSH整合,可以增强应用的用户体验,因为DWR能够实现在不刷新整个页面的情况下更新部分内容。 下面,我们逐步解析这个例子: 1. **环境准备**:确保你已经安装了Java、Tomcat服务器,以及SSH和DWR的相关库。...

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

    它通过在服务器端暴露Java对象,使得JavaScript可以直接调用这些对象的方法,实现了页面的无刷新更新。DWR提供了一套完整的生命周期管理,包括对象的创建、调用、缓存以及错误处理。 2. **DWR配置** 在开始DWR ...

    dwr第一个绝对正常运行的例子

    在这个“dwr第一个绝对正常运行的例子”中,我们将深入探讨DWR的核心概念、工作原理以及如何设置一个基本的DWR应用。 DWR的主要功能是提供一种安全且高效的方式,使得JavaScript可以调用服务器端的Java方法,从而...

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

    在实际应用中,DWR可以用于实时更新用户界面、实现AJAX功能,比如无刷新搜索、动态表格填充等。通过这个简单的DWR demo,你可以学习到如何设置DWR环境,编写可被JavaScript调用的Java方法,以及在客户端进行调用的...

    一个DWR实现table的小例子

    DWR(Direct Web Remoting)是一个开源Java库,它允许Web应用程序在客户端JavaScript和服务器端Java之间进行实时的、双向的通信,无需刷新整个页面。这个小例子是关于如何使用DWR来动态地显示和操作HTML表格数据。...

    Dwr异步刷新事例,可以参考一下!

    1. **基本示例**:一个简单的例子可能包括创建一个计数器服务,客户端可以通过点击按钮无刷新地增加计数值。 2. **数据绑定**:利用DWR更新页面的数据绑定组件,如表格或图表,当服务器端数据发生变化时,客户端会...

    一个Spring+hibernate+dwr的例子程序

    标题 "一个Spring+hibernate+dwr的例子程序" 暗示了这是一个使用Java企业级开发框架构建的应用程序。这个程序结合了Spring、Hibernate和Direct Web Remoting (DWR)这三个核心组件,来实现高效、动态的Web应用程序。 ...

    dwr 自动完成生成表格的例子

    "DWR 自动完成生成表格的例子" 指的是使用 Direct Web Remoting (DWR) 技术来实现一个具有自动完成功能的表格。DWR 是一种允许 JavaScript 与服务器端 Java 代码进行交互的开源库,特别适用于创建动态、交互性强的...

    dwr的一个简单例子带详细注释

    DWR常用于创建动态和交互性强的Web应用,例如在线表格编辑、实时聊天应用、数据可视化等,使得用户无需刷新页面就能获取和更新服务器数据。 以上就是"DWR的一个简单例子带详细注释"所涵盖的关键知识点。通过这个...

    Ajax框架DWR 入门例子

    DWR (Direct Web Remoting) 是一个开源的Ajax框架,它允许JavaScript在浏览器端与Java在服务器端进行直接通信,从而实现动态、无刷新的Web应用程序。本入门例子旨在帮助初学者快速理解并掌握DWR的基本用法和功能。 ...

    easyui-dwr

    标题“easyui-dwr”指的是一个使用EasyUI框架与DWR(Direct Web Remoting)集成的数据加载解决方案。EasyUI是一个基于jQuery的轻量级前端框架,用于构建用户界面,而DWR则是一种允许JavaScript在浏览器中直接调用...

    JAVA AJAX中使用dwr获取后台list并在页面用表格显示

    DWR是一个开源的Java库,它允许JavaScript在浏览器中直接调用Java方法,从而实现了异步的、无刷新的Web应用。DWR简化了AJAX的使用,使得开发者可以更容易地在前后端之间传递数据。 首先,我们需要在服务器端设置DWR...

    dwr的简单例子

    Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,从而实现动态Web应用程序。在这个简单的DWR例子中,我们将探讨如何配置DWR、如何传递参数以及如何处理...

    DWR+EXT+SPRING+HIBERNATE较为完整的一个例子

    1. **DWR (Direct Web Remoting)**:DWR 允许 JavaScript 直接调用服务器端的 Java 方法,提供了 AJAX 功能,使得用户无需刷新页面就能更新内容。DWR 提供了安全、高效的异步通信机制,简化了前后端交互,提高了用户...

    ajax框架Dwr的具体使用步骤

    DWR (Direct Web Remoting) 是一个开源的Ajax框架,它允许JavaScript与服务器端的Java代码进行交互,实现异步更新网页,无需刷新整个页面。DWR简化了客户端和服务器端之间的通信,使得Web应用更加动态和响应。下面将...

    DWR例子扩展

    1. **AJAX通信**:DWR通过在后台执行Java方法并返回结果到JavaScript,实现了无刷新的页面更新。这使得用户界面更加响应式,提高了用户体验。 2. **安全机制**:DWR提供了一套安全框架,包括自动的CSRF保护和对HTTP...

    ext+dwr配合简单例子

    "EXT+DWR配合简单例子"这个主题,意味着我们将探讨如何将这两者结合,利用EXT的前端能力与DWR的后端通信能力,构建一个功能完善的Ajax应用。一种简单的配合方式可能是: 1. **前端EXT设置**:首先,在EXT应用中创建...

    Ajax Dwr详细资料

    Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下更新部分网页的技术,极大地提升了用户体验。而Direct Web Remoting (DWR) 是一个开源Java库,它使得JavaScript和Java服务器端之间可以...

    DWR入门详解例子与说明,入门教程

    DWR(Direct Web Remoting)是一种Java库,它允许JavaScript在客户端与服务器端进行直接的交互,无需页面刷新。这个入门教程将引导你了解DWR的基本概念、安装配置以及实际应用。 1. **DWR的基本概念** DWR的核心...

    DWR简单例子

    通过DWR,用户可以实时地在客户端更新表格内容,而无需刷新整个页面。 通过学习这个简单的DWR例子,我们可以了解到如何利用DWR实现在Web应用中进行实时的前后端通信,提升应用的响应速度和交互体验。同时,理解DWR...

Global site tag (gtag.js) - Google Analytics