DWR - Direct Web Remoting 实际使用
2008-01-05 17:58:57 来源:WEB开发网核心提示:Ajax喊了好多年,还没实际用过,DWR - Direct Web Remoting 实际使用,趁着DWR出来用一把,用在一个很简单的地方,不知道为什么要用这种方式,干脆直接返回值不是挺好?还需要用回调?getElement:自定义的实用工具函数定义一下按钮:<input type="button&qu
Ajax喊了好多年,还没实际用过,趁着DWR出来用一把。
用在一个很简单的地方,就是检查是否有重复的名称。
首先写好一个类
public class CommonServices{public boolean checkRepeatUser(String loginname){boolean result=false;...省去具体代码return result;}}
在web.xml中加上
<servlet><
servlet-name>dwr-invoker<
/servlet-name><
display-name>DWR Servlet<
/display-name><
servlet-class>uk.ltd.getahead.dwr.DWRServlet<
/servlet-class><
init-param><
param-name>debug<
/param-name><
param-value>true<
/param-value><
/init-param><
/servlet><
servlet-mapping><
servlet-name>dwr-invoker<
/servlet-name><
url-pattern>/dwr/*<
/url-pattern><
/servlet-mapping>
在WEB-INF/dwr.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/dwr10.dtd"><
dwr><
allow><
create creator="new" javascript="CommonServices"><
param name="class" value="com.test.CommonServices"/><
/create><
/allow><
/dwr>
这是配一个类,对应于js中哪一个类,基本上象一个bean治理器。
在jsp中
先引入js
<script type='text/javascript' src='<
%=request.getContextPath()%>/dwr/interface/CommonServices.js'><
/script><script type='text/Javascript' src='<
%=request.getContextPath()%>/dwr/engine.js'><
/script><script type='text/javascript' src='<
%=request.getContextPath()%>/dwr/util.js'><
/script>
前两个是必须的。CommonServices.js会动态生成,根据dwr.xml。
写一些方法:
function showResult(b){if(b){alert("已经有重复的登录名了!");
}else{alert("登录名尚未注册过!");
}}function checkRepeat(s){var o=getElement(s);
if(o){CommonServices.checkRepeatUser(o.value,showResult);
}}function getElement(name){var result=null;
var objs=document.getElementsByName(name);
if(objs){var o=objs[0];
result=o;}return result;}
checkRepeat:传入一个文本框的对象名,取出内容,调用后台CommonServices,根据返回值显示结果。
showResult:回调函数,处理后台CommonServices的返回结果。不知道为什么要用这种方式,干脆直接返回值不是挺好?还需要用回调?
getElement:自定义的实用工具函数
定义一下按钮:
<input type="button" value="检查是否重复">
这样点一个按钮之后就会弹出对话框,显示是否重复的信息。
调用的大致流程是这样的:
button->checkRepeat->CommonServices.js->engine.js->dwr servlet->CommonServices.java->DB
[]
- ››WEBGAME龙虎榜,《传奇国度》成黑马
- ››WebQQ 2.0添加谷歌音乐方法
- ››WebLogic调整Java虚拟机性能优化参数
- ››webqq2.0协议研究(3)-ClientId生成
- ››Web.config配置文件
- ››WebBrowser组件的execWB方法——Delphi控制浏览器...
- ››Web前端设计模式--制作漂亮的弹出层
- ››WebSphere 反向投资者: 解决 WebSphere Applicati...
- ››WebSphere sMash 的创新应用,第 2 部分: 借助包装...
- ››WebQQ2.0怎样对话区域比例调节
- ››WebQQ2.0——QQ阅读&酷六视频上线
- ››Web安全网关 冠群金辰KILL过滤网关
赞助商链接