最近开发项目的时候,开始使用SSH框架,后来项目组临时决定采用DWR框架作为AJAX开发框架使用,现在这个框架也使用了3个月了已经,整体感觉还是不错的。
现在介绍一个我在实际项目中采用的DWR开发的一个程序在线小纸条程序,JAVA部分在这里就不贴出了,只是简单介绍一个我的开发思路以及得到数据库结果后的一些业务处理。
数据库结构如下:
这个数据库结构为hibernate映射Bean
private SmallNoteId id;(主键)
private String content;//小纸条内容
private String checkTime;//查看时间
private String status;//小纸条状态
这一部分为复合主键:
private String theSender;//发送人
private String sendTime;//接收时间
private String receiver;//接收人
配置文件部分:
web.xml中的Dwr配置文件
<servlet>
<servlet-name>dwr-User-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>
<init-param>
<param-name>config-User</param-name>
<param-value>/WEB-INF/dwrUser.xml</param-value>
</init-param>
<init-param>
<param-name>logLevel</param-name>
<param-value>DEBUG</param-value>
</init-param>
<load-on-startup>10</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dwr-User-invoker</servlet-name>
<url-pattern>/dwrUser/*</url-pattern>
</servlet-mapping>
在web-inf中创建dwrUser.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN""http://www.getahead.ltd.uk/dwr/dwr20.dtd">
<dwr>
<allow>
<!--下面这句话,基本上照搬就行了, value="/smallNote"是Spring配置文件中的一个Bean,由于现在企业开发 一般都采用SSH框架,所以大多数人应该都能看懂了,如果实在不明白的话可以找DWR工具书看一下,已经写的很明白了-->
<create creator="spring" javascript="SmallNote" scope="request">
<param name="beanName" value="/smallNote" />
</create>
<!--
这里需要说明一下,SmallNoteForm是根据上面的数据库自己写的一个form,主要是为了数据显示方便,如果不喜欢的话,就把数据库Bean都声明了即可。
因为SmallNoteForm Dwr并不认识所以需要将它声明一下才能够使用,像JAVA默认的数据类型就不用声明了
-->
<convert converter="bean" match="com.redcollar.webapp.form.SmallNoteForm">
<param name="include" value="theSender,sendTime,receiver,content,checkTime,status" />
</convert>
</allow>
</dwr>
这个要说明一下,工程是使用SSH框架开发的,所以DWR的类就是用Action代替了。
现在贴上页面上的JS文件来:
<script src='/redcollar/dwrUser/interface/SmallNote.js'></script>
<script src='/redcollar/dwrUser/engine.js'></script>
<script src='/redcollar/dwrUser/util.js'></script>
这个是必须导入的,DWR所需要的JS文件。
//传入分页页数,调用DWR返回分页结果
function getSmallNote(page)
{
//获取用户的小纸条信息,ListSmallNote为DWR回调函数
SmallNote.getSmallNoteByCustomer(page, ListSmallNote);
}
//DWR返回参数展示
function ListSmallNote(data)
{
DWRUtil.removeAllRows("SmallNoteList");//SmallNoteList是tbody的Id
DWRUtil.addRows("SmallNoteList", data, cellSmallNote, {
cellCreator:function(options) {
var td = document.createElement("td");
td.className="td";
return td;
},
escapeHtml:false
});
pageUrl.innerHTML=data.page;//这一个是分页信息(我是在业务逻辑层进行封装的,大家可以根据需要进行封装。)
}
//DWR展示所需要的样式,在这里
var cellSmallNote = [
function(data) { return "<input type='checkbox' name='DelIds' id='DelIds' value='"+data.theSender+","+data.sendTime+"' />"; },
function(data) { return "<a href='#' onclick='New_SmallNoteReply(\""+data.theSender+"\")'>"+data.theSender+"</a>" },
function(data) {
var url = "";
if(data.status=="0") url="unRd2.gif";
if(data.status=="1") url="unRd1.gif";
if(data.status=="2") url="replied2.gif";
return "<img src='/redcollar/FrontStage/CustomerStage/SmallNote/"+ url +"' id='img_"+data.theSender+data.sendTime+"' title='小纸条状态'/>";
},
function(data) {
return "<a href='#' onclick='show_SmallNote(\""+data.theSender+","+data.sendTime+"\")'>"+data.content+"</a>";
},
function(data) { return (data.sendTime).substring(0,19);},
];
分享到:
相关推荐
DWR(Direct Web Remoting)是一个Java库,它允许JavaScript在客户端与服务器端进行交互,实现AJAX(Asynchronous JavaScript and XML)应用。这个“dwr例子注册模块”是一个基于DWR技术构建的用户注册功能模块,...
5. **处理回调**: 服务器响应后,DWR会调用预先定义的回调函数,将结果传递给前端进行处理。 在提供的文件中,`DWR 中文帮助.pdf`可能包含了DWR的详细文档和使用指南,帮助开发者更好地理解DWR的配置和API。`总结...
DWR(Direct Web Remoting)是一个开源的Java库,它允许JavaScript在客户端与服务器端的Java对象进行直接交互,从而实现在Web应用中的Ajax(Asynchronous JavaScript and XML)功能。在本示例中,我们将深入探讨如何...
当JavaScript调用DWR接口时,请求会被封装并发送到服务器,服务器处理请求后,将结果返回给JavaScript,然后JavaScript再更新DOM元素,实现局部刷新。这个过程是异步的,用户几乎感觉不到延迟。 DWR的主要组成部分...
DWR (Direct Web Remoting) 是一个开源Java库,它允许JavaScript在客户端与服务器端进行交互,从而实现富客户端应用程序的开发。DWR的核心功能是将Java对象暴露给JavaScript,使得在浏览器中可以调用服务器端的方法...
SpringBoot整合Direct Web Remoting (DWR)是一个常见的技术实践,它允许JavaScript在浏览器端直接调用服务器端的Java方法,极大地增强了Web应用的交互性。在这个过程中,我们通常会结合使用FreeMarker或JSP作为视...
3. **生成JavaScript接口**:DWR会自动为这些Java类和方法生成JavaScript接口。这可以通过在服务器端的DWR配置文件(如`dwr.xml`)中指定,或者使用注解(如`@RemoteMethod`)来实现。 4. **在HTML/JavaScript中...
**DWR(Direct Web Remoting)**是一种JavaScript和Java之间的远程调用技术,它允许Web应用程序在客户端与服务器之间进行实时交互,而无需刷新整个页面。DWR的主要优点是简化了Ajax开发,使得动态更新页面内容变得...
在本文中,我们将探讨如何使用DWR实现前台监控并进行后台即时信息推送。 首先,理解DWR的工作原理至关重要。DWR通过在服务器端运行一个Servlet,这个Servlet负责接收JavaScript的请求,执行相应的Java方法,然后将...
DWR (Direct Web Remoting) 是一个开源的Java框架,用于在Web应用程序中实现JavaScript与服务器端Java代码的交互。DWR使得动态的Web页面能够像调用本地方法一样调用服务器上的Java方法,极大地提高了Web应用的用户...
这将引导我们深入研究DWRUtil类中的具体方法,以及这些方法如何在Ajax驱动的交互中发挥作用。 **文件内容推测:** 根据文件名“dwrt.jar”,我们可以预期包含的是DWR框架的核心库,用于在项目中集成DWR。"DWRutil...
**DWR (Direct Web Remoting) 是一个开源的Java库,它允许JavaScript在客户端与服务器端之间进行直接的异步通信,从而实现AJAX(Asynchronous JavaScript and XML)应用程序的功能。DWR使得开发者无需手动编写复杂的...
DWR (Direct Web Remoting) 是一种开源的Java技术,用于在浏览器和服务器之间实现实时的、双向的通信。它允许JavaScript直接调用Java方法,就像它们都在同一个页面上一样,极大地简化了Ajax应用程序的开发。在这个...
在本示例中,“DWR简单实现改变一个修改一个按钮上面的值”主要涉及到的知识点有: 1. **DWR基本概念**: - **Remoting**:远程过程调用,允许客户端像调用本地函数一样调用远程服务器上的方法。 - **AJAX...
Direct Web Remoting (DWR) 是一个开源Java库,它允许在浏览器和服务器之间进行实时、安全的双向通信,使得JavaScript可以直接调用Java方法,从而实现Web应用的Ajax功能。这个"TestDWR"文件很可能是DWR的一个简单...
DWR (Direct Web Remoting) 是一个开源Java库,它允许Web应用程序在客户端JavaScript和服务器端Java之间进行异步通信,实现了类似Ajax的功能。在这个小实例中,我们将探讨如何使用DWR来实现实时的文件上传功能,这...
Java的DWR(Direct Web Remoting)项目是一种用于在Web应用程序中实现实时交互的技术,它允许JavaScript在客户端与服务器端的Java代码之间进行直接调用,极大地简化了富Internet应用(RIA)的开发。本项目是基于...
### dwr-下拉菜单实现 #### 知识点概览 本文将详细介绍如何使用DWR(Direct Web Remoting)框架结合JavaScript与HTML技术来实现动态下拉菜单功能。主要涉及的技术点包括:DWR的基本原理、如何通过DWR调用服务器端...
Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器端与Java在服务器端进行交互,从而实现动态的Web应用程序。在这个"**dwr实现的服务器推demo**"中,我们看到一个实例,展示了如何利用DWR的...
本文将详细介绍如何利用Direct Web Remoting (DWR)来实现这一功能。DWR是一种Java库,它允许JavaScript和服务器端Java代码进行实时通信,类似于Ajax技术,但提供了更直接的远程方法调用。 首先,我们需要理解DWR的...