Release History

Version Date Description
1.2 December 27, 2008
1.1.1 August 15, 2007 Bugfix release
1.1 December 2, 2006 the long-awaited 1.1 release
1.0 January 1, 2005 1.0 happynewyear release
1.0-rc2 November 19, 2004 Final 1.0 release candidate
1.0-rc1 July 11, 2004 1.0 release candidate.
1.0-b3 April 12, 2004 last 1.0 beta
1.0-b2 December 8, 2003 b2 is mainly focused on stabilizing the new 1.0 branch
1.0-b1 September 22, 2003 first beta of the completely rewritten library

Release 1.2 - December 27, 2008

Type Changes By
add Export to excel: auto adjust column width. Fixes DISPL-552. Thanks to Punit Mohatta. fgiust
fix Memory leak when using external sorted and ordered list (paginatedList) Fixes DISPL-559. Thanks to Hurjui Stefan. fgiust
fix I18nSpringAdapter fails in portlets Fixes DISPL-562. Thanks to Stephane Landelle. fgiust
fix Page numbers localized using wrong locale Fixes DISPL-564. Thanks to Samppa Saarela. fgiust
fix SortOrderEnum should be serialiable Fixes DISPL-533. Thanks to Thomas Queste. fgiust
fix Grouping is performed by default if you don't define any columns Fixes DISPL-379. Thanks to Michael Osipov. fgiust
update POI dependency updated to 3.2-FINAL. This should also fix various encoding problems reported by users. Fixes DISPL-578. Thanks to Janick Reynders. fgiust
fix Wrong paging banner when using external paging. Fixes DISPL-304. Thanks to Kevin Conaway. fgiust
fix Write only properties in table decorators were incorrectly recognized as readable. fgiust
add Preserve The Current Page And Sort Across Sessions. New "keepStatus" and "clearStatus" table attributes. Fixes DISPL-125. fgiust
add Displaytag in a form. New "form" table attribute that can be used to make displaytag submit a form when paging or sorting. Fixes DISPL-157. fgiust
add Support for checkboxes. See the example web application for an example, persistent checkboxes can now be implemented by using the new "form" tag attribute and a decorator (org.displaytag.decorator.CheckboxTableDecorator) available in the standard distribution. Fixes DISPL-52. fgiust
add Add sublist support for Pagination. Fixes DISPL-497. Thanks to Kevin Conaway. fgiust
fix Decorator.searchGetterFor() method dumps stacktraces into console. Fixes DISPL-499. fgiust

Release 1.1.1 - August 15, 2007

Type Changes By
update Replaced dependencies from commons-logging in displaytag poms with jcl-over-slf4jF. fgiust
fix Added new property to set the default Comparator. Fixes DISPL-306. rapruitt
update Displaytag code moved from CVS to a new Subversion repository at fgiust
fix NPE in displaytag 1.1 when row css class is not set. Fixes DISPL-305. fgiust
fix ExcelHssfView sets Encoding for headerColumn too late. Fixes DISPL-307. Thanks to Mike Lindenblatt. fgiust
fix TableDecorator created with 1.0 doesn't work properly with 1.1. Properties defined only it decorator. Fixes DISPL-298. Thanks to Jorge Barroso. fgiust

Release 1.1 - December 2, 2006

Type Changes By
add New "scope" and "headerScope" attributes added to the column tag (output an html "scope" attribute for web accessibility). Fixes DISPL-224. Thanks to octalpus. fgiust
add Column level default sort order. A new "sortorder" attribute has been added to the column tag. Fixes DISPL-208. fgiust
update Displaytag 1.1 will require java 1.4 and a servlet 2.3 compatible container. Support for java 1.3 and servlet 2.2 has been dropped. fgiust
add Support for per-row css attributes. Fixes DISPL-49. rapruitt
add Added new displaytag-export-poi module, with a new binary excel export view using jakarta POI. To enable, add the displayatg-export-poi and poi jars to your classpath, then configure it into your using 'export.excel.class=org.displaytag.export.ExcelHssfView'. Fixes DISPL-162. Thanks to fguist,karsten,rapruitt. rapruitt
fix setSortProperty function was not overridden in ELColumnTag. Fixes DISPL-171. Thanks to sillybears. rapruitt
fix The default comparator now uses a Collator instead of #compareTo; if more advanced functionality is needed, you can specify your own Comparator (see in DISPL-18). Code based on several patches and comments in Jira, thanks to all who participated. Fixes DISPL-77. rapruitt
add Added support for column level comparators. The comparator attribute may be either a fully qualified classname, or it can be an actual comparator object. Code based on several patches and comments in Jira, thanks to all who participated. Fixes DISPL-18. rapruitt
fix Footer tag will now execute its body only on the last iteration of the table, instead of on the first. Fixes DISPL-164. rapruitt
add Added direct suppport for column totals. Users can access the totals via JSTL in the body of the footer or JSP following the tag. rapruitt
update Updated dependencies: commons-beanutils 1.7, commons-collection 3.1. fgiust
fix Page Listing Incorrect: the last page doesn't show up in the page list when it only contains one record and the page number is > than group size (it only can be accessed using the "last" link. Fixes DISPL-213. fgiust
update Example pages have been converted to jsp/xml syntax. fgiust
fix paging.banner.full: {6} is not the total number of pages. Fixes DISPL-232. fgiust
fix Table displayed incorrectly with fully loaded last page and page number+1 for page parameter. Fixes DISPL-212. fgiust
fix HTML title not added with chopped value (using maxlenght with a column containing a String of maxlength + 3 chars) Fixes DISPL-234. fgiust
fix Default column sort breaks sorting after a few sorts of the column Fixes DISPL-243. fgiust
fix Wrong header set in BufferedResponseWrapper when a charset is already defined (missing '=') Fixes DISPL-246. fgiust
add New [[DisplaytagColumnDecorator]] interface, which replaces the previous [[ColumnDecorator]] and adds pageContext and media type access. The [[ColumnDecorator]] interface is nor deprecated, but compatibility with old column decorators is preserved. Fixes DISPL-139. fgiust
add Support JSR168 based portlets. New displaytag-portlet optional module for JSR-168 support. Fixes DISPL-268. Thanks to Eric Dalquist. fgiust
add Multiple Column Decorators. Now you can specify multiple column decorators in the "decorator" column attribute (whitespace separated). Fixes DISPL-25. fgiust
add New "format" attribute added to display column. You can now specify a MessageFormat pattern for simple formatting instead of implementing a specific column decorator. Fixes DISPL-28. fgiust
add Allow row object to be of type Collection. Now you can use a list of lists as a source for a display:table, using column property="[0]", column property="[1]" to access indexed properties. Fixes DISPL-68. fgiust
add Export enhancements: new RTF export view, refactoring of export code for easier extension, expose caption and footer to export view. Fixes DISPL-245. Thanks to Jorge L. Barroso. fgiust
add Ability to highlight selected table row. You can use the addRowClass() and addRowId() callbacks in TableDecorator to specificy a different class or id for each row. Check the sample application for an example on how to do this easily. Fixes DISPL-110. fgiust
add Ability to use a custom DecoratorFactory. You can now specify a custom decorator factory by setting the new factory.decorator property in Fixes DISPL-222. fgiust
add Decorators can now be loaded from objects available in page, request, session or application scope. The default decorator factory will first look for an existing instance then, if not found, it will assume the name it's the fully qualify class name for a decorator and will try to instantiate it using reflection. This allows an easier generation of decorators directly in the jsp page, see the sample webapp for an example. Fixes DISPL-31. fgiust
add Option to automatically escape xml. New "escapeXml" attribute added to column tag. Fixes DISPL-80. fgiust

Release 1.0 - January 1, 2005

Type Changes By
fix Fixed some remaining https issues when saving exported files in Internet Explorer with the export filter enabled. fgiust
fix autolink working with https://, ftp://, etc. Fixes DISPL-150. fgiust
fix Column body is not rendered when requesting an invalid page. Fixes DISPL-136. fgiust
fix I18n Struts Adapter now works with Struts 1.1. Fixes DISPL-149. fgiust
fix Performance optimization: reduce the use of temporary StringBuffers while building the html table. Fixes DISPL-156. fgiust
fix Sporadic error with factory.requestHelper. Fixes DISPL-148. fgiust
add DisplayTag is now able to load from a different classloader (allows displaytag.jar to be placed in appserver shared libs). Fixes DISPL-144. fgiust
fix Center of paging banner number. Fixes DISPL-109. fgiust
fix Tag holding references to resources. Fixes DISPL-145. fgiust
fix Export of nested tables: now you can export the parent table without errors; nested tables are not included during export. Fixes DISPL-142. fgiust

Release 1.0-rc2 - November 19, 2004

Type Changes By
fix getListIndex() in tableDecorator now correctly returns the index in the original list. Fixes 962448. fgiust
fix Proper encoding of URLs under JDK 1.4. Fixes 1006229. Thanks to Konstantin. fgiust
add Properties are looked up according to the locale of the request. More specific locales override more general locales on a key by key basis, so that, if a key is not present in the most specific locale file for a request, the tag will search through the more general files until the key is found. rapruitt
fix NullpointerException in HeaderCell. Fixes 1020948. fgiust
fix Param values not URLEncoded. Fixes 1016089. fgiust
update Exported output can now optionally be written directly (both with or without the export filter) and not buffered. Fixes DISPL-22. fgiust
fix Export filter not working in WebLogic. Fixes DISPL-21. fgiust
add Export system has been reworked, allowing registration of user-defined export views. A PDF export view has been added as an example (note that PDF export is not enabled by default in the distribution: you need to set the [[export.pdf=true]] config parameter and include the required libraries). Public APIs for export views have changed (a new interface has been added). Fixes DISPL-13. Thanks to Ivan Markov. fgiust
fix Algorithm in org.displaytag.util.ParamEncoder produces easily colliding keys. Fixes DISPL-12. fgiust
add Enable / disable param forwarding. A new [[excludedParams]] attribute has been added to the table tag, which allows you to specify the list of parameters which should not be forwarded during paging or sorting. [[*]] matches any parameter. Fixes DISPL-35. fgiust
fix The [[titleKey]] column attribute has been added to the standard version of the taglib too. The i18n support for titleKey has been refactored, adding a configurable resource provider which can wrap the localization support of any used frameworks (JSTL, Struts, Spring adapter are included, other can be added be users). Fixes DISPL-53. fgiust
fix display-el:column titleKey not Resin compatible. Fixes DISPL-15. fgiust
fix Error: mediaType is already defined. To avoid errors when nested tables are used, the current [[mediaType]] is no more declared as a compile-time variable . This means that you can still retrieve the current media type using [[pageContext.getAttribute("mediaType")]] but not using a scriptlet like [[ <%=mediaType%> ]] . If you previously used this syntax you will have to fix your jsps when upgrading to 1.0 rc2. Fixes DISPL-6. fgiust
update The [[name]] attribute in the EL version of table Tag will now work both with EL expressions and with the "standard" displaytag sintax. fgiust
update Column JSP body should only execute for rows being shown. Now column body is skipped if current row is not needed for display or sorting (be careful, if you sort the full list row need to be evaluated). Fixes DISPL-3. fgiust
fix Send user back to Page 1 on Desc/Asc. Fixes DISPL-9. fgiust
add More params for [[paging.banner.*_items_found]] . Fixes DISPL-26. fgiust
fix Html tags in "title" attribute when using maxLength. Fixes DISPL-4. fgiust
fix Autolink and maxlength problem. Fixes DISPL-1. fgiust
fix Unicode export with ResponseOverrideFilter fails because of improper content length setting. Fixes DISPL-73. Thanks to Mikko Wilkman. fgiust
update Ability to use java var in id attribute in tabletag. A new [[uid]] attribute has been added for jsp 1.0 containers (look at the FAQ for more details). Fixes DISPL-2. fgiust
add New [[htmlId]] attribute which let you specify the value for the id attribute in the generated table. fgiust
add Webwork i18n support. Fixes DISPL-106. Thanks to Richard HALLIER. fgiust
add Need ability to disable prepending of context to the contents of the requestURI attribute. New [[requestURIcontext]] table attribute added. Fixes DISPL-104. fgiust
add Using ColumnDecorator with tag body. Fixes DISPL-81. fgiust
add New [[sortProperty]] attribute in column tag: specify property used for sorting. Fixes DISPL-58. fgiust
update Allow ColumnTag to generate links to current page. Fixes DISPL-117. fgiust
update Allow requestURI with only parameters. Fixes DISPL-112. Thanks to Paul McCulloch. fgiust
update Allow column href also if paramId is not defined. Fixes DISPL-130. fgiust

Release 1.0-rc1 - July 11, 2004

Type Changes By
fix The EL version of the taglib has been refactored and cleaned up. All the attributes, except deprecated ones, now accept EL expressions. fgiust
fix Improved attribute value handling following specifications for tag pooling. Should fix issues with Resin. Fixes 927804. fgiust
fix Modified attribute type specification in tld to match setters in tag classes and added unit tests. Fixes validation issues with WebLogic 8. fgiust
fix Added support for indexed/mapped properties in table decorators. Fixes 926213. fgiust
fix MaxLength not working with double quotes. Fixes 920115. fgiust
add New property [[basic.msg.empty_list_row]] which let you customize the message for an empty table while using [[basic.empty.showtable = true]] . This also allows you to customize the previously fixed "empty" css class. fgiust
fix Export links are not shown for empty tables. Fixes 895915. fgiust
fix ResponseOverrideFilter sets a bad contentType when charset is already specified. Fixes 921811. fgiust
fix Reset headers during export. This allows export with https and should fix reported problems with Tomcat 5.0. Fixes 938653. fgiust
fix Wrong tfoot position. Fixes 944863. fgiust
fix Fixed export.decorated property. Fixes 842234. fgiust
fix Context path is automatically added to "requestURI" table attribute (only if link starts with "/"). fgiust
fix The "url" column attribute, already available in the EL version form 1.0-b3, has been moved to the standard library. The "url" attribute has the same meaning as the "href" attribute, but always prepends the context path to the URI. Fixes 894839. fgiust
fix Column:autolink throwing exception or garbling urls. Fixes 952129. fgiust
fix Pagination urls parameters wrong for multiple table on the same page. Fixes 944056. Thanks to Sylvere Abbad. fgiust
fix Unable to set the table "name" attribute in jsp 1.1 containers after release 1.0-b3 ("Unable to convert a String to java.lang.Object for attribute value" error). Fixes 947752. fgiust
fix The export filter now only filters when needed. Response is not buffered when a special parameter inserted by displaytag in export links is not found. Fixes 958053. fgiust
fix Export cancel out UTF8 filter. Now headers are not reset during an export request. Only headers which could prevent caching are overwritten. Fixes 968559. fgiust
fix Automatic column discovery is turned off for Strings. Avoid displaying a single column " [[Bytes]] " when the source collection contains Strings. fgiust

Release 1.0-b3 - April 12, 2004

Type Changes By
fix The export filter introduced in b2 has been modified to avoid errors in Websphere 4 (or in any j2ee 1.2 containers, where the filter can't be used). rapruitt
update MediaTypeEnum has been moved to the package. You will need to fix your imports if you started using with in the b2 release. fgiust
add All the css classes in the table tag are now customizable. You can change the original [[even, odd, sorted, order1, order2]] classes and also configure a css class to be added to any table or to any sortable column. Fixes 851250. fgiust
add Added the "defaultsort" attribute to change the sorting order for the default sorted column. Fixes 867217. fgiust
add Added a new configuration property [[basic.empty.showtable]] which let you choose if you want to display the table if the underlining list is empty. fgiust
fix Breaks on '%' in values. Fixes 840728. Thanks to David Kowis. fgiust
fix paramProperty is wrong when not fetched from iterated object. Fixes 849207. fgiust
fix requestURI parameters are overwritten by current values. Fixes 858888. fgiust
add Added the export.[exporttype].filename property. fgiust
fix Export error - Filter not working (wrong constant name). Fixes 882056. fgiust
add Added the "style" attribute to column tag. Fixes 887787. fgiust
fix Export filter was not preserving the locale setting. Fixes 860387. rapruitt
fix Export filter failed under Weblogic; fixed. Fixes 886495. rapruitt
fix RequestURI attribute does not handle anchors ('#') properly. Fixes 897946. fgiust
fix Sortable attribute not working. Fixes 873684. fgiust
add Added a [[caption]] tag to display a table caption. Fixes 886050. fgiust
update A new [[org.displaytag.util.ParamEncoder]] class has been added, to allow users to generate encoded parameter names like tabletag does. Important! From now tables in the same pages which use the sorting, paging or exporting feature MUST have a different ID fgiust
add Added the new [[sort.amount]] configuration property. fgiust
update Switching from Cactus to Servletunit tests. Servletunit tests resulted simpler to implement and more effective in testing tag output. fgiust
add Test coverage reports added to the build. Free license for the displaytag project kindly donated by Clover. fgiust
fix Two /tbody generated. Fixes 891070. fgiust
add Support for arrays of Maps has been added in automatic column discovery. If you pass an array of map objects to the table tag the list of columns will be generated from the keys of the first map in the array. This allows to use the result of a jstl sql:query tag in a display:table without columns (use [[ result.rows ]] in the name attribute). fgiust
add Added Expression Support ala JSTL. To use it, just specify your taglib URI to be [[]] . The EL sintax is replacing the old proprietary sintax in the table "name" attribute. Note that the old [[scope]] and [[property]] attributes are no more supported in the EL version of the tag. EL support in this release is preliminary and it's due to change in next releases. Thanks to Tim McCune. mraible
add Added to the EL taglib only a "titleKey" attribute which will lookup it's value as a key in a JSTL bundle (declared using the mraible
add Added to the EL taglib only a "url" attribute is an enhancement to the "href" attribute which prepends the contextPath. mraible
fix URLs now include session information for page links, sort links, urls set with "requestURI" or "href". Also fixes reported NPE in tomcat. Fixes 902399. fgiust
add Binary releases are now compatible both with the 2.1 and 3.0 version of common-collections. Fixes 879038. fgiust
add RequestHelper implementation is now configurable and can be replaced by a user-defined one. This allows users to plug-in specific implementations. See the configuration page and the RequestHelper javadocs for more info. Fixes 917569. fgiust
fix Error in paging for URLs containing "{}". Fixes 917200. fgiust
add You can now set a property value in the body of a setProperty tag, instead of using the "value" attribute. fgiust

Release 1.0-b2 - December 8, 2003

Type Changes By
fix Invalid xhtml if empty list. Fixes 814470. fgiust
fix paging.banner.placement property. Fixes 749119. fgiust
add Automatic column discovery when no columns are defined. Instead of the simple output with the object toString() and the message "please define column tags", the table tag will automatically add columns mapped to object properties. This is especially useful in development to quickly see and test available properties. fgiust
update The following methods in TableDecorator are now correctly declared as [[final]] : [[getViewIndex()]] , [[getListIndex()]] , [[initRow(Object, int, int)]] , [[getCurrentRowObject()]] . These methods should never be extended in subclasses of TableDecorator. fgiust
update Removed the [[value]] property of ColumnTag. This was totally undocumented in previous versions and is now useless. fgiust
fix Body not cleared with pooled ColumnTags. Fixes 823383. fgiust
fix Sorting with table decorators. Fixes 814058. fgiust
fix Parameters not preserved in requestURI. Fixes 830652. fgiust
add Added a check for availability of correct version on commons-lang: a message is displayed if a wrong version is used. rapruitt
add New jsp 1.2 tld is available. Tag reference documentation is automatically produced from dtd. rapruitt
fix Column JSP body should not execute if the list is empty. Fixes 814462. fgiust
add Added filter (only for j2ee 1.3 containers) to allow exports from inside of an included JSP page. See the install docs and javadocs for more information. Fixes 820763. rapruitt
update Exported data is now properly escaped for the output format. fgiust
fix Include header in excel export. Fixes 773162. fgiust
fix Properties inheritance between table decorators. Fixes 840011. fgiust
fix User properties can now be loaded from files when deployed in unexploded WAR. Fixes 831806. rapruitt
update Altered the properties search process. Properties in the file will now override properties from Users can add additional properties via the TableProperties#setUserProperties() method. rapruitt
add Added media attribute to ColumnTag. Broadened ExportTypeEnum to also cover the HTML case; renamed to MediaTypeEnum. Current mediaType exposed via scripting variable 'mediaType'. This can be used in column content to generate output based on madia type (don't output html when exporting and so on). rapruitt

Release 1.0-b1 - September 22, 2003

Type Changes By
add Mavenized! Thanks to Didier Dubois for the help on migrating the build system to maven. fgiust
update Totally refactored/rewritten. The whole library has been rewritten, improved package structure, code quality, logging and exception handling. fgiust
add Major addiction: the table tag works now also with an iterator approach, letting you specify content in the body of the column tag. fgiust
update Better html output. The rendered html code is now completely xhtml STRICT compliant. Some of the css classes have been changed, check the docs for upgrading from previous versions. fgiust
add Global configuration with a user supplied properties file (configured in web.xml) which lets you personalize most of the tag output. fgiust
add Link attributes are encoded to let you use more table in the same page with independent paging, sorting and exporting. You can also put nested display:table tag! fgiust
add Link parameters are preserved in paging/sorting. Paging will always keep the correct order, and it will also maintain the correct order/page for all the table displayed. fgiust
update Example site refactored (xhtml strict+css), added new samples. fgiust
add It's now possible to define objects/nested attributes with the beanutils style language + scope (ex. sessionScope.list.value.attribute(name).item[1] = session.getAttribute("list").getValue().getAttribute("name").getItem[1]). fgiust
add Lots of small changes/addiction: fgiust