Changes Report

Release History

1.1.12007-08-15Bugfix release
1.112-2-2006the long-awaited 1.1 release
1.0January 1, 20051.0 happynewyear release
1.0-rc2November 19, 2004 Final 1.0 release candidate
1.0-rc1July 11, 20041.0 release candidate.
1.0-b3April 12, 2004last 1.0 beta
1.0-b2December 8, 2003b2 is mainly focused on stabilizing the new 1.0 branch
1.0-b1September 22, 2003first beta of the completely rewritten library
0.8.6September 21, 2003Bugfix release (fixes jre 1.3 compatibility)
0.8.5March 23, 2003
0.8May 25, 2002
0.7March 10, 2002
0Jan 7th, 2002First public alpha feedback release

Release 1.1.1 - 2007-08-15

updateReplaced dependencies from commons-logging in displaytag poms with jcl-over-slf4jF.fgiust
fixAdded new property to set the default Comparator. Fixes DISPL-306.rapruitt
updateDisplaytag code moved from CVS to a new Subversion repository at
fixNPE in displaytag 1.1 when row css class is not set. Fixes DISPL-305.fgiust
fixExcelHssfView sets Encoding for headerColumn too late. Fixes DISPL-307. Thanks to Mike Lindenblatt.fgiust
fixTableDecorator 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 - 12-2-2006

addNew "scope" and "headerScope" attributes added to the column tag (output an html "scope" attribute for web accessibility). Fixes DISPL-224. Thanks to octalpus.fgiust
addColumn level default sort order. A new "sortorder" attribute has been added to the column tag. Fixes DISPL-208.fgiust
updateDisplaytag 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
addSupport for per-row css attributes. Fixes DISPL-49.rapruitt
addAdded 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
fixsetSortProperty function was not overridden in ELColumnTag. Fixes DISPL-171. Thanks to sillybears.rapruitt
fixThe 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
addAdded 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
fixFooter tag will now execute its body only on the last iteration of the table, instead of on the first. Fixes DISPL-164.rapruitt
addAdded direct suppport for column totals. Users can access the totals via JSTL in the body of the footer or JSP following the tag.rapruitt
updateUpdated dependencies: commons-beanutils 1.7, commons-collection 3.1.fgiust
fixPage 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
updateExample pages have been converted to jsp/xml syntax.fgiust
fixpaging.banner.full: {6} is not the total number of pages. Fixes DISPL-232.fgiust
fixTable displayed incorrectly with fully loaded last page and page number+1 for page parameter. Fixes DISPL-212.fgiust
fixHTML title not added with chopped value (using maxlenght with a column containing a String of maxlength + 3 chars) Fixes DISPL-234.fgiust
fixDefault column sort breaks sorting after a few sorts of the column Fixes DISPL-243.fgiust
fixWrong header set in BufferedResponseWrapper when a charset is already defined (missing '=') Fixes DISPL-246.fgiust
addNew [[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
addSupport JSR168 based portlets. New displaytag-portlet optional module for JSR-168 support. Fixes DISPL-268. Thanks to Eric Dalquist.fgiust
addMultiple Column Decorators. Now you can specify multiple column decorators in the "decorator" column attribute (whitespace separated). Fixes DISPL-25.fgiust
addNew "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
addAllow 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
addExport 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
addAbility 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
addAbility 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
addDecorators 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
addOption to automatically escape xml. New "escapeXml" attribute added to column tag. Fixes DISPL-80.fgiust

Release 1.0 - January 1, 2005

fixFixed some remaining https issues when saving exported files in Internet Explorer with the export filter enabled.fgiust
fixautolink working with https://, ftp://, etc. Fixes DISPL-150.fgiust
fixColumn body is not rendered when requesting an invalid page. Fixes DISPL-136.fgiust
fixI18n Struts Adapter now works with Struts 1.1. Fixes DISPL-149.fgiust
fixPerformance optimization: reduce the use of temporary StringBuffers while building the html table. Fixes DISPL-156.fgiust
fixSporadic error with factory.requestHelper. Fixes DISPL-148.fgiust
addDisplayTag is now able to load from a different classloader (allows displaytag.jar to be placed in appserver shared libs). Fixes DISPL-144.fgiust
fixCenter of paging banner number. Fixes DISPL-109.fgiust
fixTag holding references to resources. Fixes DISPL-145.fgiust
fixExport 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

fixgetListIndex() in tableDecorator now correctly returns the index in the original list. Fixes 962448.fgiust
fixProper encoding of URLs under JDK 1.4. Fixes 1006229. Thanks to Konstantin.fgiust
addProperties 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
fixNullpointerException in HeaderCell. Fixes 1020948.fgiust
fixParam values not URLEncoded. Fixes 1016089.fgiust
updateExported output can now optionally be written directly (both with or without the export filter) and not buffered. Fixes DISPL-22.fgiust
fixExport filter not working in WebLogic. Fixes DISPL-21.fgiust
addExport 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
fixAlgorithm in org.displaytag.util.ParamEncoder produces easily colliding keys. Fixes DISPL-12.fgiust
addEnable / 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
fixThe [[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
fixdisplay-el:column titleKey not Resin compatible. Fixes DISPL-15.fgiust
fix. 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
updateThe [[name]] attribute in the EL version of table Tag will now work both with EL expressions and with the "standard" displaytag sintax.fgiust
updateColumn 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
fixSend user back to Page 1 on Desc/Asc. Fixes DISPL-9.fgiust
addMore params for [[paging.banner.*_items_found]] . Fixes DISPL-26.fgiust
fixHtml tags in "title" attribute when using maxLength. Fixes DISPL-4.fgiust
fixAutolink and maxlength problem. Fixes DISPL-1.fgiust
fixUnicode export with ResponseOverrideFilter fails because of improper content length setting. Fixes DISPL-73. Thanks to Mikko Wilkman.fgiust
updateAbility 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
addNew [[htmlId]] attribute which let you specify the value for the id attribute in the generated table.fgiust
addWebwork i18n support. Fixes DISPL-106. Thanks to Richard HALLIER.fgiust
addNeed ability to disable prepending of context to the contents of the requestURI attribute. New [[requestURIcontext]] table attribute added. Fixes DISPL-104.fgiust
addUsing ColumnDecorator with tag body. Fixes DISPL-81.fgiust
addNew [[sortProperty]] attribute in column tag: specify property used for sorting. Fixes DISPL-58.fgiust
updateAllow ColumnTag to generate links to current page. Fixes DISPL-117.fgiust
updateAllow requestURI with only parameters. Fixes DISPL-112. Thanks to Paul McCulloch.fgiust
updateAllow column href also if paramId is not defined. Fixes DISPL-130.fgiust

Release 1.0-rc1 - July 11, 2004

fixThe EL version of the taglib has been refactored and cleaned up. All the attributes, except deprecated ones, now accept EL expressions.fgiust
fixImproved attribute value handling following specifications for tag pooling. Should fix issues with Resin. Fixes 927804.fgiust
fixModified attribute type specification in tld to match setters in tag classes and added unit tests. Fixes validation issues with WebLogic 8.fgiust
fixAdded support for indexed/mapped properties in table decorators. Fixes 926213.fgiust
fixMaxLength not working with double quotes. Fixes 920115.fgiust
addNew property [[basic.msg.empty_list_row]] which let you cu stomize 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
fixExport links are not shown for empty tables. Fixes 895915.fgiust
fixResponseOverrideFilter sets a bad contentType when charset is already specified. Fixes 921811.fgiust
fixReset headers during export. This allows export with https and should fix reported problems with Tomcat 5.0. Fixes 938653.fgiust
fixWrong tfoot position. Fixes 944863.fgiust
fixFixed export.decorated property. Fixes 842234.fgiust
fixContext path is automatically added to "requestURI" table attribute (only if link starts with "/").fgiust
fixThe "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
fixColumn:autolink throwing exception or garbling urls. Fixes 952129.fgiust
fixPagination urls parameters wrong for multiple table on the same page. Fixes 944056. Thanks to Sylvere Abbad.fgiust
fixUnable 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
fixThe 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
fixExport cancel out UTF8 filter. Now headers are not reset during an export request. Only headers which could prevent caching are overwritten. Fixes 968559.fgiust
fixAutomatic 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

fixThe 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
updateMediaTypeEnum has been moved to the package. You will need to fix your imports if you started using with in the b2 release.fgiust
addAll 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
addAdded the "defaultsort" attribute to change the sorting order for the default sorted column. Fixes 867217.fgiust
addAdded 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
fixBreaks on '%' in values. Fixes 840728. Thanks to David Kowis.fgiust
fixparamProperty is wrong when not fetched from iterated object. Fixes 849207.fgiust
fixrequestURI parameters are overwritten by current values. Fixes 858888.fgiust
addAdded the export.[exporttype].filename property.fgiust
fixExport error - Filter not working (wrong constant name). Fixes 882056.fgiust
addAdded the "style" attribute to column tag. Fixes 887787.fgiust
fixExport filter was not preserving the locale setting. Fixes 860387.rapruitt
fixExport filter failed under Weblogic; fixed. Fixes 886495.rapruitt
fixRequestURI attribute does not handle anchors ('#') properly. Fixes 897946.fgiust
fixSortable attribute not working. Fixes 873684.fgiust
addAdded a [[caption]] tag to display a table caption. Fixes 886050.fgiust
addAdded the new [[sort.amount]] configuration property.fgiust
updateSwitching from Cactus to Servletunit tests. Servletunit tests resulted simpler to implement and more effective in testing tag output.fgiust
addTest coverage reports added to the build. Free license for the displaytag project kindly donated by Clover.fgiust
fixTwo /tbody generated. Fixes 891070.fgiust
add]] in the name attribute).fgiust
add. Thanks to Tim McCune.mraible
addAdded to the EL taglib only a "titleKey" attribute which will lookup it's value as a key in a JSTL bundle (declared using the < fmt:bundle tag or in your web.xml).mraible
addAdded to the EL taglib only a "url" attribute is an enhancement to the "href" attribute which prepends the contextPath.mraible
fixURLs now include session information for page links, sort links, urls set with "requestURI" or "href". Also fixes reported NPE in tomcat. Fixes 902399.fgiust
addBinary releases are now compatible both with the 2.1 and 3.0 version of common-collections. Fixes 879038.fgiust
addRequestHelper 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
fixError in paging for URLs containing "{}". Fixes 917200.fgiust
addYou 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

fixInvalid xhtml if empty list. Fixes 814470.fgiust
fixpaging.banner.placement property. Fixes 749119.fgiust
addAutomatic 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
updateThe 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
updateRemoved the [[value]] property of ColumnTag. This was totally undocumented in previous versions and is now useless.fgiust
fixBody not cleared with pooled ColumnTags. Fixes 823383.fgiust
fixSorting with table decorators. Fixes 814058.fgiust
fixParameters not preserved in requestURI. Fixes 830652.fgiust
addAdded a check for availability of correct version on commons-lang: a message is displayed if a wrong version is used.rapruitt
addNew jsp 1.2 tld is available. Tag reference documentation is automatically produced from dtd.rapruitt
fixColumn JSP body should not execute if the list is empty. Fixes 814462.fgiust
addAdded 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
updateExported data is now properly escaped for the output format.fgiust
fixInclude header in excel export. Fixes 773162.fgiust
fixProperties inheritance between table decorators. Fixes 840011.fgiust
fixUser properties can now be loaded from files when deployed in unexploded WAR. Fixes 831806.rapruitt
updateAltered the properties search process. Properties in the file will now override properties from Users can add additional properties via the TableProperties#setUserProperties() method.rapruitt
addAdded 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

addMavenized! Thanks to Didier Dubois for the help on migrating the build system to maven.fgiust
updateTotally refactored/rewritten. The whole library has been rewritten, improved package structure, code quality, logging and exception handling.fgiust
addMajor addiction: the table tag works now also with an iterator approach, letting you specify content in the body of the column tag.fgiust
updateBetter 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
addGlobal configuration with a user supplied properties file (configured in web.xml) which lets you personalize most of the tag output.fgiust
addLink 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
addLink 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
updateExample site refactored (xhtml strict+css), added new samples.fgiust
addIt'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

Release 0.8.6 - September 21, 2003

fixFixed export of full list Thanks to .
fixCompiled binaries are compatible with jre 1.3 (8.5 version was not working on jre 1.3 due to optimized 1.4 compilation). Thanks to .

Release 0.8.5 - March 23, 2003

addAllow column elements to be nested inside other tags. Thanks to Luiz-Otavio Zorzella.Luiz-Otavio Zorzella
addIn decorators, added method getCollection() to allow for Collections, Iterators and Maps to be used as well as Lists. Thanks to Luiz-Otavio Zorzella.Luiz-Otavio Zorzella
addOriginal table tag only works with Lists. Now works with Collections, Iterators and Maps as well (though some functions, like group totals are not available to these, due to limitations on the structures themselves). Thanks to Luiz-Otavio Zorzella.Luiz-Otavio Zorzella
addAdded startRow() to the decorator API to allow people to put headers on groupings as well as footers.ed-hill
fixFixed a caching bug in with tables that had multiple pages, the pageNumber is now reset to 1 in the tag object.ed-hill
fixFixed various with URL rewriting (? vs & ).ed-hill
fixCorrect error message on bean property lookups.ed-hill
updateBuild/Deploy process updates to be more dynamic.mraible

Release 0.8 - May 25, 2002

addadded various properties that can be override that effect the default strings and behaviors of table, here are some brief examples of message and behaviors that you can now set, see examples-config.jsp for a complete list [!!] - include the header at the top of the table basic.msg.empty_list - string displayed when there are no items to show sort.behavior - sort just viewable items, or entire list export.banner - message format shown in footer, you can localize export.csv - include CSV export option export.csv.label - name of link (localize) export.csv.include_header - include the column titles in the export? export.amount - export just the page of data or the complete list export.decorated - decorate the data as it is exported? Thanks to .
addintroduced two new column attributes "maxLength", "maxWords" that will restrict the size of strings being shown in a column.mraible
addintroduced new column attribute "headerStyleClass" that allows you to override the class name used in drawing the table's header cell for that column. Thanks to .
addintroduced ColumnDecorators - you can now decorate individual columns, this makes it easier for you to define reusable DateFmt, MoneyFmt, etc... decorators rather then developing a customer decorator for each table. Note, the decorator interface is still not to my liking, expect changes before this tag gets a 1.0 release. Thanks to Jay Paulsen.jay-paulsen
fixfixed a bug, where nulls were *not* being suppressed like they should be in the display, now nulls will only be shown if you specify the nulls attribute of the column tag.mraible
fixfixed my web.xml files in the various wars - they were not compliant and Tomcat would barf while deploying them - I'm now testing under JRun 3.1/4.0 and Tomcat 4.0.4b3. Thanks to Joachim Martin.Joachim Martin
fixfixed bug in example-styles.jsp, was using a variable "page" which is a rarely used standard JSP variable (JRun didn't care, Tomcat did), just renamed the variable so that example runs under Tomcat. Thanks to Joachim Martin.Joachim Martin
addfixed bug that prevented the first column from being sorted in both ascending and descending order Thanks to .
fixfixed a problem where a decorated table would interfere with fetching the source list on subsequent fetches Thanks to .
fixbug was introduced in 0.7 that prevented a decorated object from being exported correctly, that has been fixed Thanks to .
fixbug was introduced in 0.7 that prevented a decorated object from being sorted correctly, that has been fixed Thanks to .
addincluded a copy of the Artistic license that this program is distributed under Thanks to .

Release 0.7 - March 10, 2002

addadded the requestURI attribute, so that you could tell the table tag what URI was used to call it. Thanks to .
fixfixed some exporting bugs, added the ability to export in XML, although at this stage it is very crude. Thanks to .
fixfixed sorting so that it sorts in both ascending and descending order based on multiple title clicks. Thanks to .
addupdated all of the example jsp pages with a link that people can click on to view that pages source. Also re-organized the pages so that the example table was always at the top of the page as the first thing you saw, and the commentary behind the example followed. Thanks to .
fixThe table tag now properly expects any decorators used to be children of the org.apache.taglibs.display.TableDecorator class (it was in the wrong package before). Reported by everyone... Thanks to .
fixUnderscore is not a legal character in CSS, so the various style names and attributes where changes to be in uppercase format. - table_cell -> tableCell - table_row_odd -> tableRowOdd - table_row_even -> tableRowEven - table_row_action -> tableRowAction - table_cell_action -> tableCellAction - table_row_header -> tableRowHeader - table_cell_header -> tableCellHeader.mraible
fixCleaned up the other examples that were incomplete. Fixed broken links, etc... Thanks to .
fixCloned the ColumnTags as I added them to the TableTag so that the table tag works correctly with web containers that reuse tags as an optimization. (Resin and Weblogic, probably others). This bug would manifest itself with multiple duplicated columns. Thanks to Jim Canter.Jim Canter
fixflushed out the example-export example that shows how to automatically export data to CSV, excel and XML formats. Thanks to .
fixflushed out the example-callback example that shows how to use a decorator to implement summing and totaling... The functionality was included in the original version, but there wasn't an example that showed how to use it. Thanks to .
fixfixed a NPE if you passed the table tag a null list. Thanks to .
updateupdated the example-grouping.jsp page to show a more report oriented example. Thanks to .
fixIncluded the pointer to the 2.2 DTD in the web.xml files. Thanks to Rob Evans.
updateadded 'flush="true"' to all of my jsp:includes in my examples to be more in sync with the JSP 1.1 spec. Thanks to Dirk Storck.

Release 0 - Jan 7th, 2002

addNo changes recorded prior to this release. Thanks to .