我是用spring与dwr融合的方式的来使用dwr的.不多说,就说使用步骤吧!
第一步 导入dwr.jar (version: 2.0.5)
第二步 配置web.xml文件
第三步 配置dwr.xml
第四步 编写js代码
第五步 页面引用
1.略
2.略
3.配置dwr.xml
前两步没什么好说的,我们来看第三步:
<dwr>
<allow>
//一个create对应 java中一个类
//creator="spring" 表明由spring来创建,
//子节点<param> 就必须是 name="beanName"
//value="***" 此处的***代表你
//spring的配置文件也就是applicationContext.xml文件中
//声明 bean 的id的值
//而 create标签的javascript属性的值就是用它来代表bean中的对象
<create javascript="userService" creator="spring">
<param name="beanName" value="userService"></param>
<!-- 指定哪些文件可以通过dwr方式调用 -->
<include method="checkUserName" />
<include method="checkEmail"/>
</create>
</allow>
</dwr>
4.编写js代码(checkUser.js文件)
//定义一个全局变量,方便给页面中某个<span>标签动态的加上html代码
//你可以不理它的
var span_id ;
function checkUserNameForExist(userName,span_info){
span_id = span_info ;
return userService.checkUserName(userName,checkUserNameForExistBack);
//此处的userService对应第三步中create 标签的javascript="userService",
//而checkUserName的方法就是java中的方法,也即是userService bean中的checkUserName
//当然参数 userName的获取你自己搞定了,通过document.getElementById("***").value等等
//然后,自己再传入这个方法中
}
//此方法的参数是 userService这个bean的checkUserName方法的返回值
//我返回的是boolean类型
//也可以是 int String foalt double int[] string[] float[] double[] java.util.Date list set等
function checkUserNameForExistBack(varbool){
//这个方法是通过dwr方法调用后回调的方法
if(varbool){ //不存在了
document.getElementById(span_id).innerHTML="<font color='red'>此用户不存在</font>";
return false ;
}else{
document.getElementById(span_id).innerHTML="";
return true ;
}
}
关于回调的说明:
<script type="text/javascript">
function doMethod(){
//调用方法:若公开的类是AAA,公开的AAA里的方法是bbb([参数]);
//回调函数callBack()
AAA.bbb([参数],callBack);
}
//data是后台返回的值,名字自取,也可省略,因为JS允许
function callBack(data) {
//处理方法……;
//如果callBack()没有写明返回值,可以通过argments[0]拿到
}
</script>
//其实我们调用AAA.bbb([参数],callBack),就是做了以下这一步:
//(下面部分代码是包装好的,不在前台,所以即使你没有创建html或者jsp来调
//用,也可以通过localhost:8080/工程名/dwr 来看到你暴露的java类进行测试)
function AAA() { };
AAA.bbb = function([参数], callback){
DWREngine._execute('/dwr/dwr', 'AAA', 'bbb', [参数], callback);
}
//通过在dwr.xml暴露的方法得到js里的方法,当我们调用AAA.bbb时候再通
//过/dwr/dwr转到DWRServlet中去用JAVA里的AAA.bbb方法,然后返回值到
//callback中(中间经过dwr.xml的convert)
比如: var getMav = function() {
ecTypeService.editEcType(id, method, showModelView);
}
var showModelView = function(mav) {
var model = mav.model;
win = new Ext.Window( {
border :true,
layout :'fit' }); //这里的ecTypeService为spring管理的service,showModelView为回调方法,mav为回调返回的值
5.页面引用
一定记得引入以下四个文件
<script type="text/javascript" src="/dwr/engine.js"></script>
<script type="text/javascript" src="/dwr/util.js"></script>
<script type="text/javascript" src="/dwr/interface/userService.js"></script>
<script src="/js/checkUser.js" type="text/javascript"></script>
然后就可以调用userService.js中的类
<script>
function check_name(o,div_id){
...
}
function checkDescription(description,div_id){
...
}
function check_submit(f){
var str="";
if(!check_name(f.boardName,"boardName_info")){
str=str+"false|";
}
var boardMaster = f.boardMaster.value ;
//这里的 checkUserNameForExist 就是了
if(!checkUserNameForExist(boardMaster,"boardMaster_info")){
str=str+"false|";
}
var oEditor = FCKeditorAPI.GetInstance("boardDescription");
var boardDescription=oEditor.GetXHTML(true);
if(!checkDescription(boardDescription,"boardDescription_info")){
str=str+"false|";
}
if(str==""){
return true;
}else{
return false;
}
}
</script>
分享到:
相关推荐
标题 "DWR与SPRING 集成" 涉及到的是两个在Web开发中常用的开源框架——Direct Web Remoting (DWR) 和 Spring。DWR允许在浏览器和服务器之间进行实时、异步的数据交换,而Spring是Java企业级应用的全面解决方案,...
将DWR与Spring整合,可以利用DWR的异步通信能力,结合Spring的强大管理功能,构建高效、灵活的Web应用。 **整合过程** 1. **引入依赖**:首先,我们需要在项目中引入DWR和Spring的相关jar包。对于Maven项目,可以...
4. **简化开发**:Spring和DWR的集成可以减少重复代码,简化开发流程。 #### 三、DWR与Spring集成的方式 ##### 第一种方式:在dwr.xml中指定Spring Bean 这种方式是在DWR的配置文件dwr.xml中指定业务对象的创建...
将DWR与Spring集成,可以充分利用Spring的管理能力,简化DWR的配置和增强应用的可维护性。 ### 集成步骤 1. **引入依赖** 在项目的`pom.xml`文件中添加DWR和Spring的依赖。确保版本兼容,通常选择最新稳定版本。 ...
将DWR与Spring整合,可以利用Spring的强大功能来管理和配置DWR组件,同时保持前后端交互的高效性。 在使用DWR和Spring结合时,注解方式的引入极大地简化了配置过程。下面将详细介绍如何通过注解实现DWR和Spring的...
集成完成后,DWR和Spring的结合将使得我们的Web应用具有实时交互性,而Spring的依赖注入和管理能力则帮助我们保持代码的整洁和可维护性。 总之,DWR和Spring的集成提供了一种有效的方法,通过简单的配置和编码,就...
《疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发》是疯狂Java体系丛书之一,前8章基本以XHTML、JavaScript和DOM编程为主,无须任何基础即可阅读;第9章以后的内容则需要掌握Spring、Hibernate等Java ...
1. **配置DWR Spring集成**:在Spring配置文件中定义DWR相关的bean,如`DWRConfig`和`SpringContextUtil`,以便让DWR能够访问Spring的bean。 2. **Spring托管的Java类暴露给JavaScript**:通过Spring的`@Service`或...
4. **整合DWR和Spring**:为了让DWR能够找到Spring管理的Bean,需要配置DWR-Spring集成。这可以通过在dwr.xml中添加`<dwr:annotation-config>`标签,以及在web.xml中配置DWR的Spring监听器来实现。 5. **编写前端...
本文将深入探讨DWR和Spring MVC的集成过程以及相关知识点。 **DWR(Direct Web Remoting)**是一种开源的JavaScript库,它允许Web应用程序在客户端JavaScript和服务器端Java之间进行双向通信。DWR通过动态生成...
在本教程中,我们将探讨如何利用Direct Web Remoting (DWR) 和Spring框架来实现这样的功能。 DWR是一个开源Java库,它允许Web应用程序在浏览器和服务器之间进行实时的、异步的通信,类似于Ajax的功能,但更加强大。...
在这个"DWR 2.0 Spring 3.0 整合示例"中,我们将探讨如何将DWR与Spring框架集成,以实现高效的前后端交互。整合DWR和Spring的主要目标是利用Spring的管理能力来处理DWR的bean,同时利用DWR的动态JavaScript生成能力...
在"dwrspring2"这个示例项目中,可能包含了配置文件、Java源代码和Web页面等资源。你可以看到如何在`dwr.xml`中配置Spring Bean的引用,以及在JavaScript中如何使用DWR调用这些Bean的方法。通过查看项目中的`index....
要将DWR与Spring整合,我们通常会使用Spring的`DwrController`或者自定义一个Spring MVC控制器来处理DWR请求。此外,我们还需要在Spring的配置文件中声明DWR的相关bean,如`DwrConfig`,并将其与其他Spring服务(如...
#### 二、DWR与Spring整合配置 在进行DWR与Spring的整合时,首先需要在DWR的配置文件dwr.xml中指定创建对象的方式和参数。以下是一个示例: ```xml <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD ...
- **集成 DWR-Spring**: 使用 `dwr-spring` 模块,它提供了 Spring-aware 的 `DWRContext` 实现,使得 DWR 可以识别和利用 Spring 容器中的 Bean。 - **配置 Servlet 容器**: 在 `web.xml` 文件中配置 DWR 的 `...
- **Spring集成示例**:说明如何配置DWR与Spring的集成,以及如何在JavaScript中调用Spring的Bean。 通过理解并实践这些示例,开发者可以更好地掌握DWR的使用,并将其应用于实际的Web应用中,实现高效、便捷的前后...
将DWR与Spring结合使用,可以构建出更高效、更灵活的Web应用。 在这个例子中,我们将会探讨如何将DWR与Spring集成,创建一个可运行的示例。首先,我们需要在项目中添加DWR和Spring的相关依赖。这通常通过Maven或...
DWR、Spring和Hibernate整合的关键在于: - 配置:首先,需要在Spring配置文件中声明DWR的相关bean,包括DWR引擎、配置信息等。接着,配置Hibernate的数据源、SessionFactory,并将SessionFactory注入到需要进行...
本示例"ext-dwr-spring集成Demo"就是一种将三个重要技术组件——EXT、Direct Web Remoting (DWR) 和Spring框架融合的实践。EXT是一个强大的JavaScript库,用于构建富客户端BS(Browser-Server)架构的应用;DWR则...