dwr动态载入小结
来源:互联网 发布:域名怎么绑定esc服务器 编辑:程序博客网 时间:2024/04/29 11:24
dwr动态载入小结
笔记在实际开发中用到dwr框架,一直以来,常为加载中提示用户等待这问题困扰,经笔者研究,摸索出一个切实可行的方案,供大家参考。实例如下:<a style="cursor:hand" onclick="changeStatus(this);Test.invoke('${parameters}','${pageId}',callBack);"><img src='/icon.gif'></a>函数说明:changeStatus我们将用来改变提示状态值Test类的invoke函数将触发从台数据库取出值然后通过回调函数callBack负责在页面显示出来
页面配置
<script type='text/javascript' src='/dwr/interface/Test.js'></script><script type='text/javascript' src='/dwr/engine.js'></script><script type='text/javascript' src='/dwr/util.js'></script><script type='text/javascript' src="/js/prototype-1.4.0.js"></script>
dwr.xml
<!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="Test"> <param name="class" value="pakage.Test"/> </create> <convert converter="bean" match="pakage.Test"/> </allow></dwr>
回调函数
var callBack=function(data){ var pageId=data.pageId; var list=data.listEntityBean; if ($(pageId).style.display == "none") { $(pageId).style.display="block"; var htmlStr = ""; for (var i = 0; i < list.length; i++) { htmlStr +=...//这里是将list中的值取出来给一个字符串 } $(pageId).innerHTML = htmlStr; return; } $(pageId).style.display="none"; }
pakage.Test类
public class Test { private String pageId;private List list; public String getPageId() { return pageId; } public void setPageId(String pageId) { this.pageId = pageId; }public String getList() { return list; } public void setList(List list) { this.list = list; } static Log log= LogFactory.getLog(Test.class); public void invoke(String parameter,String pageId){ this.setPageId(pageId); this.list=...//这里根据参数从数据库里取出值来 return this; }
至些我们完成的dwr的编写。
function changeStatus(obj){ var htmlStr = ""; var oPopup = window.createPopup(); DWREngine.setPreHook(function() { //这是正在加载的代码 htmlStr = "<img src=/"/loading.gif/">"; obj.innerHTML = htmlStr;//这里是改变传入对象的值,是dwr正在加载时的提示,如loading,我这里是用的是图片 var oPopupBody = oPopup.document.body; oPopupBody.innerHTML = "<img src='/admin/images/spinner.gif'>"; oPopup.show((Math.abs(Math.round((document.body.clientWidth-50) / 2))), Math.abs(Math.round((document.body.clientHeight-50)/ 2)), 100, 100, document.body); }); DWREngine.setPostHook(function() { //这是加载完成的代码 htmlStr = "<img src=/"/loadok.gif/">";//这里是改变传入对象的值,是dwr加载时完成的提示,如load ok,我这里是用的是图片 obj.innerHTML = htmlStr; oPopup.hide(); });}
以上代码,是我在项目中抽取出来的一部份。小说明一下:var oPopup = window.createPopup();这个函数用于创建浮动页面的loading载入提示,加载完成后将对象进行oPopup隐藏处理oPopup.hide();如果不须要,changeStatus这个函数完全可以这样写
function changeStatus(obj){ DWREngine.setPreHook(function() { //这是正在加载的代码 obj.innerHTML = "<img src=/"/loading.gif/">";//这里是改变传入对象的值,是dwr正在加载时的提示,如loading,我这里是用的是图片 }); DWREngine.setPostHook(function() { //这是加载完成的代码 obj.innerHTML = "<img src=/"/loadok.gif/">";//这里是改变传入对象的值,是dwr加载时完成的提示,如load ok,我这里是用的是图片 });}至此我们完美的完成了dwr加载时的提示问题,这样也使用户体更强,更具人性化.
- dwr动态载入小结
- DWR小结DWRUtil
- DWR学习小结
- DWR源码分析小结。。。
- spring+hibernate+dwr小结
- dwr学习小结
- spring+hibernate+dwr小结
- DWR小结DWRUtil
- DWR配置小结
- DWR小结DWRUtil篇
- DWR+extjs开发小结
- 动态载入js
- 动态载入js
- 关于动态CSS载入
- js 动态载入
- iOS 动态载入framework
- LayoutInflater 动态载入界面
- LayoutInflater动态载入
- 网络推广的三个重点方向
- silverlight beta2 wcf双向通讯学习记录
- eclipse下alt+/快捷键方式失效的解决
- 打发时光的102个网站
- VIM+TagList( 使用VIM开发软件项目 - 使用tag文件和taglist插件)
- dwr动态载入小结
- WordPress资源
- 256路TRIE的C实现以及指针在VS中的不同续前
- JavaScript中的字符串替换(replace)
- 关于朋友(KK记)
- 相信
- VF6.0常用命令和主要程序命令
- 伯克
- 给自己列一下08年7月的书单