文章详情页
DWR - Direct Web Remoting 实际使用
内容: DWR - Direct Web Remoting 实际使用原创:magicgod版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明magicgod的blog:' target='_new'>http://www.matrix.org.cn/blog/magicgod/ajax喊了好多年,还没实际用过,趁着DWR出来用一把。用在一个很简单的地方,就是检查是否有重复的名称。首先写好一个类public class CommonServices{public boolean checkRepeatUser(String loginname){boolean result=false;...省去具体代码return result;}}在web.xml中加上dwr-invokerDWR Servletuk.ltd.getahead.dwr.DWRServletdebugtruedwr-invoker/dwr/*在WEB-INF/dwr.xml中<?xml version='1.0' encoding='UTF-8'?> dwr PUBLIC '//GetAhead Limited//DTD Direct Web Remoting 1.0//EN' 'http://www.getahead.ltd.uk/dwr/dwr10.dtd'>这是配一个类,对应于js中哪一个类,基本上象一个bean管理器。在jsp中先引入js<script type='text/javascript' src='https://www.haobala.com/bcjs/<%=request.getContextPath()%>/dwr/interface/CommonServices.js'></script><script type='text/javascript' src='https://www.haobala.com/bcjs/<%=request.getContextPath()%>/dwr/engine.js'></script><script type='text/javascript' src='https://www.haobala.com/bcjs/<%=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' onclick='checkRepeat('user.loginname')' value='检查是否重复'>这样点一个按钮之后就会弹出对话框,显示是否重复的信息。调用的大致流程是这样的:button->checkRepeat->CommonServices.js->engine.js->dwr servlet->CommonServices.java->DB Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd DWR - Direct Web Remoting 实际使用原创:magicgod版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明mag
相关文章:
排行榜