这段时间在用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
分享到:
相关推荐
在"JavaScript与displayTag标签的合作 -- 操作表头(二)"这个主题中,我们主要关注的是如何利用JavaScript来实现对表格表头的动态操作,比如改变列宽、隐藏或显示列、添加自定义事件等。 1. **动态调整列宽**:...
这篇博客“用JavaScript操作displayTag表头操作”显然关注的是如何利用JavaScript来操纵一个名为`displayTag`的表格库的表头功能。DisplayTag是一个功能丰富的开源Java Web组件库,它提供了一种强大的方式来展示表格...
除此之外,可能还需要其他依赖的jar包,例如与数据库操作相关的驱动,这取决于具体的应用需求。 "displaytag-1.2-bin"标签表明这是Displaytag 1.2的二进制发行版,通常包含完整的库文件和必要的文档。在压缩包`jar...
DisplayTag是一个基于JSP标签库的组件,它的主要目标是提供一个易用且强大的表格显示解决方案。它不仅支持基本的HTML表格,还提供了一些高级特性,如分页、排序、导出、国际化和自定义样式。 2. **分页** 在大型...
在标签中再次强调了"displaytag",这表明该压缩包与DisplayTag库紧密相关。 压缩包中的"displaytag"文件夹可能包含了DisplayTag库的所有组件,如JAR文件、文档、示例和其他支持文件。开发者通常会将JAR文件添加到...
1. **表格展示**:DisplayTag可以轻松地创建出具有排序、过滤、格式化等功能的复杂表格,只需要在JSP页面中添加少量的标签就能实现。 2. **国际化支持**:DisplayTag内置了对多种语言的支持,方便创建多语言的Web...
这通常与字符编码设置有关,需要确保JSP页面、Servlet容器、数据库以及DisplayTag自身的配置文件(如displaytag.properties)都采用相同的UTF-8编码。 4. **解决方案**:解决DisplayTag中文乱码问题,通常需要修改`...
- **源代码**:可能有Java类,用于处理数据和与DisplayTag交互。 - **JSP页面**:展示DisplayTag使用的JSP文件,其中包含DisplayTag的标签实例。 - **CSS和JavaScript**:可能有自定义的样式表和脚本文件,用于调整...
Display Tag是Java Web开发中的一款强大且功能丰富的开源表格标签库,它为开发者提供了一种在JSP页面中处理和展示表格数据的高效方式。这个使用总结文档将深入探讨Display Tag的功能、配置、使用方法以及常见问题的...
首先,displaytag是一个开源的JSP标签库,专门用于创建复杂的表格和数据展示。它支持分页、排序、国际化、导出等多种功能,并且易于集成到现有的Java Web应用中。Displaytag的优点在于其简洁的语法和对各种Web框架...
2. **创建JSP页面**:在JSP页面中引入DisplayTag的标签库,并使用`<display:table>`标签来定义表格。 3. **设置属性**:配置`<display:table>`的属性,如`id`(表格ID)、`name`(数据源)、`pagesize`(每页显示的...
与传统的displaytag相比,eXtremeComponents提供了更丰富的特性,如自定义样式、过滤和排序等功能。 #### 3. TableTag ##### 3.1 引言 TableTag是eXtremeComponents的核心组件之一,用于渲染表格。它提供了多种选项...