这段时间在用displayTag, 它有很多好用的功能,俺也不就在这赘述,当然也有几个不方便的地方. 比如求和后"%"的显示等与求和相关的缺点, 这里先介绍一个缺点并把我从网上整理出来的解决方案也一并帖出.
问题是这样的: 由于业务要求, 当用户鼠标位于表中某一列的标头时, 在这个表头"动画"地显示这列的简介.
先看下做出来的效果:
若不用displaytag的话,这个没什么困难的, 直接加mouseOver事件就OK了.可现在用dispalyTag后,
在<display:column ..>中加不了onMouseOver的响应事件,即便是能加这个响应事件的话, 也是加到了列上,
没法定位到当前列的表头.
怎么解决?
写DisplayTag的装饰器应该可以,但太麻烦.
在JSP上做文章吧.
那只能用JavaScript了, 以前用Dojo时有这个效果,但仅仅为了这么个功能引入Dojo显然很不划算.
自己写一个JavaScript方法.
先在网上搜下看看有没有类似的解决方法, 终于找到一个:
http://www.devx.com/webdev/10MinuteSolution/31020/0/page/3,看样子行,
于是就以他的方法为出发点来写.还有一哥们,他想改写displatTag的部分源码以支持那些常见的JavaScript事件.
http:
//jira.codehaus.org/browse/DISPL-187. 这个牛人的问题咱们以后再研究.
回到咱们的主题上来. 以他的RowHandlers.js为出发点怎么写? 分为三步:
1, 定位到目标表头.也就是说让浏览器知道用户的鼠标放到了表头.
2, 触发mouseOver事件,
3, 在事件里定位说明
先看第一步, 这个是有些麻烦,若不是用了FireFox里的firebug来跟踪查看DOM,这一步就写不出来. 写了改,改了再调了N遍后, 终于成功了:
var theadCells = document.getElementById(tableID).getElementsByTagName("thead")[0].rows[0].cells;
这个theadCells就是HTML中表头上的一系列<tr></tr>.
tableID是传来的参数, 毕竟displayTag还没"干尽杀绝", 让咱们程序员得到生成table的id.
再看第二步, 这个没什么可说的, 直接按人家方法来就行了:
cell.onmouseover = function () {
alert("hello");
};
写到这后,用浏览器打开当用户鼠标处于目标位置时,
就有一个可能的"Hello"给alter出来了.写到这也顺便赞叹下像JavaScript这样的动态语言,不用编译太方便了,
不像Java那样写一个Hiberante的Dao实现后,若没有配置像JUnit那样测试环境的话,为了试下费老劲了.
应该说第二步写完后, javaScript与displatTag的一次合作就算完成了, 下面的第三步与本主题有些远了, 以后我再记录写这样"动画"效果的体会吧.
--------------------------------------------------------
真是抱歉,昨天有些匆忙,忘了把示例代码也一并贴上来, 现在补上(见附件). 它只能在IE里用, 当鼠标位于"ID"上时, 就有"Hello, Guys!"出来.
- 大小: 29.4 KB
分享到:
相关推荐
NULL 博文链接:https://rmn190.iteye.com/blog/545650
displaytag-export-poi-1.2.jar
displaytag-1.2-src.zip
displaytag-1.2.jar 显示标签
displaytag-1.0-b3
displaytag源码大全,可直接部署,查看效果,案例齐全。
displaytag-export-poi-1.1.1
displaytag-1.1.jar和display-export-poi-1.1.jar下载
displaytag-examples-1.1.1.war 例子
分页标签, 分页标签, 分页标签,
这是分页用的displaytag-portlet-1.1.jar。很高兴与大家分享!
从数据库获得数据,显示到页面。功能相当强大,支持直接生成excel等格式,支持排序等,但似乎不支持分页显示
类似Table,可以显示数据库中的数据,可分页、排序。很灵活。
包含了jar包和技术指导文档,按照文档的指导,可以方便的实现分页,并且点击标题就可以进行排序,是目前应用较为广泛的一种分页方法!
· displaytag-1.2-src.zip · cewolf-1.1.4.zip · cewolf-1.0-bin-src.zip · c3p0-0.9.1.2.src.zip · c3p0-0.9.1.2.bin.zip · apache-log4j-1.2.15.zip · xwork2-2.1.rar · dom4j-1.6.1.rar ...
commons-beanutils.jar, commons-collections3-3.2.1.jar commons-lang-2.1.jar displaytag-1.2.jar 还有一个demo代码包,里面有displayTag的例子,帮助你学习 希望能帮助你
displaytag-1.1.1-execle@cvs导出中文乱码问题解决.jar
这是做分页用的一个jar包,希望对大家有所帮助