我是用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整合 传对象的例子
dwr+spring集成配置 dwr采用annotation自动扫描的方式
《疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发》是疯狂Java体系丛书之一,前8章基本以XHTML、JavaScript和DOM编程为主,无须任何基础即可阅读;第9章以后的内容则需要掌握Spring、Hibernate等Java ...
dwr和spring集成简单例子!
dwr与spring集成的两种方式,来之网上搜索的文档。。
使用dwr+spring实现消息推送 。
DWR示例 包括DWR基本配置 DWR传递对象 DWR 反转ajax DWR与spring集成
dwr2.0 spring 3.0 整合示例
dwr与spring整合的相关资料收集dwr与spring整合的相关资料收集dwr与spring整合的相关资料收集dwr与spring整合的相关资料收集
配置整合DWR3.0和Spring2.5使用annotation注解
DWR+SPRING整合应该有地方用的到
DWR整合Spring MVC ,前端jsp文件调用后台java方法,适合DWR学习
精心整理的,dwr与目前流行框架spring和struts2的整合,值得一学
spring使用annotation整合dwr笔记 spring使用annotation整合dwr笔记 spring使用annotation整合dwr笔记
NULL 博文链接:https://json20080301.iteye.com/blog/1892385
最近刚刚弄了个DWR+Spring整合的案例。拿来与大家分享
dwr与spring集成,spring jdbc 数据库集成,spring注入例子
这个jar是很难找的,是dwr在spring环境里面,使用注解的必须包,希望对你有用。
Spring+Dwr+Hibernate整合项目,包括所需要的包和数据库
NULL 博文链接:https://605113068.iteye.com/blog/1731323