1. 引言
拦截特性被用在运行时需要修改属性值的时候,它使得改变基于数据的eXtremeTable的行为成为可能。在阅读扩展标签属性时,你会发现它和扩展标签属性具有同样的概念和方法标识。 区分使用他们的首要准则是:如果需要向TLD里已经定义的并且能够在JSP中访问的标签添加新的属性时,应该使用扩展标签属性;如果仅仅是需要修改已经定义好的属性的值的时候,应该使用拦截器。
你可能需要了解更多的eXtremeTable如何运作的技术背景才能完全理解这种特性。 eXtremeTable首先做的就是遍历所有标签并创建对应的模型beans (pojos)。beans是具有和标签一样属性,但是使用真实类型来替换仅仅使用字符串类型的对象。beans是被模型使用并且是你需要使用拦截特性修改的对象。 所有的拦截器接口都定义了一个add方法, add方法被用来处理模型bean第一次创建时的属性。行和列的拦截器还有一个modify 方法。modify方法可以在当行和类进行处理是对属性值进行操作。
1.1. 拦截器列表
下面列出了具有拦截特性的标签和他们需要被实现的接口,Bean栏显示了被模型创建的Bean。
标签 接口 Bean
TableTag org.extremecomponents.table.intercept.InterceptTable org.extremecomponents.table.bean.Table
RowTag org.extremecomponents.table.intercept.InterceptRow org.extremecomponents.table.bean.Row
ColumnTag org.extremecomponents.table.intercept.InterceptColumn org.extremecomponents.table.bean.Column
ExportTag org.extremecomponents.table.intercept.InterceptExport org.extremecomponents.table.bean.Export
1.2. 行拦截器示例
示范拦截特性的完美示例就是根据一定的标准来对行进行高亮显示,这也是我们将要完成的示例。它很短也很简单,不过它实现的概念同样适用于每一个拦截器接口。
我们需要做的第一件事就是实现InterceptRow接口。你会注意到这个接口有两个方法:addRowAttributes() 和modifyRowAttributes()。addRowAttributes方法在行bean创建的时候被调用, modifyRowAttributes方法在表处理当前页面行的时候被调用。
public class MarkerIntercept implements InterceptRow {
public void addRowAttributes(TableModel tableModel, Row row) {
}
public void modifyRowAttributes(TableModel model, Row row) {
President president = (President) model.getCurrentRowBean();
String career = president.getCareer();
if (StringUtils.contains(career, "Soldier")) {
row.setStyle("background-color:#fdffc0;");
} else {
row.setStyle("");
}
}
}
在Preferences里你应该定义这个行拦截器的别名。
row.intercept.marker=org.extremesite.intercept.MarkerIntercept
这样就可以在行标签中使用拦截器MarkerIntercept了。
<ec:row intercept="marker">
分享到:
相关推荐
eXtremeTable使用指南
eXtremeTable的使用方法 eXtremeTable的使用方法 eXtremeTable的使用方法 eXtremeTable的使用方法 eXtremeTable的使用方法
eXtremeTable中文文档
我也刚开始看,感觉是个好东东,大家多多交流
eXtremeTable中文文档.pdf
eXtremeTable文档 eXtremeTable文档 eXtremeTable文档 eXtremeTable文档 eXtremeTable文档 eXtremeTable文档
eXtremeTable分页控件完整例子包括了数据的分页、数据的Excel格式导出、数据的pdf电子书格式导出、数据的文本文件格式导出等功能,里面的源代码写得非常详细,好好看一下.... 功能强大,易于扩展的extremetable就是个...
博文链接:https://xinzhiz.iteye.com/blog/198102
extremeTable,开源的jsp 自定义标签,以表格的形式显示数据,当前最新版本为 1.0.1-M1. 它是一个类似display tag,valueList 等开源产品.
extremetable教程.pdf
eXtremeTable分页控件完整例子包括了数据的分页、数据的Excel格式导出、数据的pdf电子书格式导出、数据的文本文件格式导出等功能,里面的源代码写得非常详细,好好看一下....
displayTag,extremeTable相关文章
用Hibernate + extremetable 实现的分页,和Hibernate 的分页,希望对大家有点帮助
个人认为spring mvc的设计十分精巧,前端用extremetable做的显示数据表格
eXtremeComponents是一系列提供高级显示的开源JSP 定制标签
eXtremeComponents中的eXtremeTable组件使用的简明手册,WORD。