/***********本人原创,欢迎转载,转载请保留本人信息*************/ 作者:wallimn 电邮:wallimn@sohu.com 时间:2009-09-24 博客:http://wallimn.iteye.com 网络硬盘:http://wallimn.ys168.com /***********文章发表请与本人联系,作者保留所有权利*************/ 现在网页上的表格,当鼠标经过的行高亮显示是个很不错的功能。display标签是个很不错的标签,但是,不支持鼠标经过行变色功能,看了看displaytag的源码,它甚至没有给人留下直接可用的扩展接口。 当然,修改源码可以实现,但我一直认为如不是实在迫不得以,不要修改第三方插件源码,会给今后的升级带来问题。 今天看了看decorator(包装器?、修饰器?)的相关知识,只有有限几个可用的回调接口,反复看了几遍apidoc及源码。受SQL注入思想的启发,找到了一个很极为巧妙有创意的方法,通过自定义decorator来实现display标签生成的表格鼠标经过变色功能。 代码很简单,共两部分,全部贴在下面: 一、java代码 Java代码
package com.wallimn.gyz.util;
import org.displaytag.decorator.TableDecorator;
/**
* 超级简单的实现displaytag标签表格行鼠标经过变色功能<br/>
* 博客:http://wallimn.iteye.com,转载请保留此信息!!<br/>
* 编码:wallimn 时间:2009-9-24 下午05:05:30<br/>
* 版本:V1.0<br/>
*/
public class OverOutWrapper extends TableDecorator {
public OverOutWrapper(){
super();
}
@Override
public String addRowId() {
return "i_d\" οnmοuseοver=\"if (typeof(window.m_over)=='function') window.m_over(this);\" οnmοuseοut=\"if (typeof(window.m_out)=='function') window.m_out(this);\" title=\"博客:http://wallimn.iteye.com";
}
}
二、jsp测试代码