From the displaytag-devel mailing list:
I am sorry if I am asking a stupid question but is there any
activity going on in the project? There are no new releases for
almost a year... Neither are there any news on the project page. In
our project we have modified the 1.0 version a bit and would like to
share these changes with the community.
Fabrizio's response:
See http://displaytag.sourceforge.net now
the website was frozen to the last 1.0 release, also due an extensive
refactoring to the build/documentation system (migration to maven 2,
splitting of optional modules and examples, ...) but activity on the
project never stopped.
1.1 is now near, and I switched the default homepage to the 1.1
documentation. Warning: it's not released yet, but nightly builds are
up.
The biggest feature of 1.1 has to be the ability to do external sorting and paging.
If you're looking for Ajax support in the displaytag, look no further than AjaxTags. I haven't been able to get ajax:displayTag working in my projects because I'm using a newer version of Prototype. However, it looks like the next version of AjaxTags supports the latest version of Prototype.
In addition to AjaxTags, you can also use AjaxAnywhere. Here's the code you'll need to do that (after adding AjaxAnywhere to your project):
<aa:zone name="userTable">
<display:table name="users" class="list" requestURI="" id="userList" export="true"
excludedParams="*" pagesize="5" sort="list">
<display:column property="id" sort="true" href="editUser.html"
paramId="id" paramProperty="id" titleKey="user.id"/>
<display:column property="firstName" sort="true" titleKey="user.firstName"/>
<display:column property="lastName" sort="true" titleKey="user.lastName"/>
<display:column titleKey="user.birthday" sort="true" sortProperty="birthday">
<fmt:formatDate value="${userList.birthday}" pattern="${datePattern}"/>
</display:column>
</display:table>
</aa:zone>
<script type="text/javascript">
ajaxAnywhere.getZonesToReaload = function() { return "userTable" }
ajaxAnywhere.onAfterResponseProcessing = function() { replaceLinks() }
function replaceLinks() {
// replace all the links in <thead> with onclick's that call AjaxAnywhere
var sortLinks = $('userList').getElementsByTagName('thead')[0]
.getElementsByTagName('a');
ajaxifyLinks(sortLinks);
if (document.getElementsByClassName('pagelinks').length > 0) {
var pagelinks = document.getElementsByClassName('pagelinks')[0]
.getElementsByTagName('a');
ajaxifyLinks(pagelinks);
}
}
function ajaxifyLinks(links) {
for (i=0; i < links.length; i++) {
links[i].onclick = function() {
ajaxAnywhere.getAJAX(this.href);
return false;
}
}
}
replaceLinks();
</script>
Libraries used in above code: AjaxAnywhere 1.0.2, DisplayTag 1.0 and Prototype 1.4.0_pre4. You can also see a demo online or download the code.