eXtremeTable - another table tag for sorting and paging
From the AppFuse mailing list and the Spring Forums, I learned about eXtremeTable. This JSP Tag looks similar to the Display Tag, except that it includes support for checkboxes and filtering columns out-of-the-box. If you've used this tag, please let me know how it's working for you.
It's nice, but it's very new, and I had some performance problems with it.
Besides, exporting didn't worked as easy as I expacted(and how I was used from DisplayTag).
IMHO DiplayTag is still the better choice and it should be improved not start thousends of forks or reimplementations. There's just too much abandonware on sourceforge, so maintaining another 'displaytag' it's a waste of resouces IMHO.
Posted by Ahmed Mohombe on July 11, 2005 at 01:58 PM MDT #
Posted by anonymous coward on July 11, 2005 at 05:00 PM MDT #
Posted by PJ on July 11, 2005 at 05:13 PM MDT #
Posted by Thomas on July 12, 2005 at 08:44 AM MDT #
As far as i see the examples in the extremeTable, it seems to be a good architecture from the point of filtering and custom cells and all. I have my own table model which do more or less the same as extremeTable..the data fetch is using the "limit" feature...in my case i m using Oracle heavily and using the rowcount and getting the total number of rows from count(*) seems to be a big problem in case i have very very complex(with many joins and sub-queries) query behind it.
I have never used display tag..but it seems to be a good choice for simple table displays and not for complex business applications...where one has same column floating around in different reports. One need to have custom column functionality to reuse over the pages. Well..it seems i have too many things to write..and i m going weird!
But Matt, your blog rocks.
regards, vicky
Posted by Vicky on July 13, 2005 at 11:09 AM MDT #
Posted by Chris Koenigsberg on July 13, 2005 at 02:12 PM MDT #
* Built-in column filtering (display subset of results, based on substring of column value).
* Better sorting out of the box, at least for dates and currency.
* Ability out of the box for the web user to change how many rows they can see on one page.
* Interfaces look cleaner at first glance, for plugging in different sorting, filtering, formatting.
Posted by Chris Koenigsberg on July 13, 2005 at 02:16 PM MDT #
Display a column of integer numbers, so that, say, 9 precedes 1000, and so 9 is formatted as "___9" (leading blanks, and/or right justified, whichever), but so that they are still integers internally, and if used as parameters on links, they go as the right integer values e.g. "9" and not "___9".
Seems that with displaytag we need to write a table filter and mess with comparators, or with eXtremeComponents we need to subclass the sorter and formatter (to mess with comparators) and provide them as "callbacks".
But with eXtremeComponents they do handle dates and currency out of the box, re correct sorting and formatting, so why not integers?
(perhaps because the underlying NumberFormat/DecimalFormat, in java.text, do not have a way of specifying an integer "format" string indicating right-justified with leading blanks, e.g. so given 9 and 1000, the 9 is formatted as "___9" to align with, and sort before, the "1000"?)
Posted by Chris Koenigsberg on July 13, 2005 at 02:32 PM MDT #
Posted by 198.203.175.175 on July 15, 2005 at 08:02 PM MDT #
I created the eXtremeComponents, and I just wanted to say thanks for posting the eXtremeTable on your site. It is fun seeing my image posted somewhere else on the web. I also thought I would reply back to some of the posts.
I created eXtremeTable because I wanted a tag that was very customizable without sacrificing any performance. It took me a very long time and tons of refactoring, but I finally accomplished it and thought other people may enjoy it as well. The eXtremeTable is so flexible. If it does not do what you need you can just Implement the correct Interface and plug it in.
I never really thought about it, but I guess it does seem odd that this tag just kind of appeared out of nowhere. It has actually been in development for some time and for the people that have used it, it does not seem new at all. I only waited so long to tell other people because I wanted to be able to make it the best it could be. I have refactored and redesigned the eXtremeTable over and over getting to where I am completely happy with it. I guess that is a long way of saying that there is no fear of this becoming abandonware. I just wanted people to know that.
I also saw one person post that that the eXtremeTable has performance problems. I wish he would have elaborated because I encourage people to profile the tag and report their findings. The eXtremeTable is so lean and performs so well it barely shows up on a profiler.
Vicky raised a good point about having to use the count(*) to get the total row numbers when using the 'limit' feature. I'm still not sure what to call it, but I guess limit, or paging, or something like that is fitting. Anyway, the total is only used for display to the end user. In the eXtremeTable's terminology it is used in the View (HtmlView). In eXtremeTable views are pluggable so if you did not want to include the total then you would just have to modify the View and plug in your implementation. You can really make the eXtremeTable look however you want. Even with that though, after this next release, it is my plan to dissect the default View (HtmlView) and pull out what would be the common functionality between different potential views to make implementing your own custom table view even easier.
So, anyway, I sincerely hope people enjoy using the eXtremeTable as much as I have. It has been a lot of fun meeting and helping people at the eXtremeComponent forums!
-Jeff JohnstonPosted by Jeff Johnston on July 18, 2005 at 12:41 AM MDT #
Posted by Things to do in I.T. on July 20, 2005 at 12:46 PM MDT #
Posted by Surender Taalla on July 25, 2005 at 01:54 PM MDT #
Posted by Marc Logemann on July 29, 2005 at 09:47 PM MDT #
Posted by Luis on September 14, 2005 at 05:01 PM MDT #
The eXtremeTable really lives up to its supposedly pretentious naming. It's extremely configurable indeed, no option missing, but also works right out of the box. You can place virtually anything you like between those <ec:column> tags, even complex JSTL statements, and it will be content. It's fast, and it even looks good (avoiding 'sexy' here); you can fully customize the overall appearance via CSS. Looking at the code (I always do), you'll instantly recognize this is a Pro's work. Good design, very clean code. Hm. I think, I just love it. But see for yourself; it's worth it. Quote me on that :-)
-- Chris.
Posted by Chris on September 27, 2005 at 07:01 PM MDT #
The link on sourceforge to eXtremeComponents is https://sourceforge.net/project/showfiles.php?group_id=108168.
Currently the http://extremecomponents.org site is down. My hosting company (http://lunarpages.com/) did not want me to use the Spring Framework anymore and just shut me down. I am pretty disgusted as I was not taking up any resources, and they just did it out of ignorance of what the Spring Framework is. I found a hosting company (http://eapps.com/) that I like even more and will be paying for a better plan. I get my own JVM and even have root access to my slice of the server. Unfortunately there is nothing I can do except wait for my account to be set up, the DNS to take effect, ect...
I have been working on some really nice changes the past week though. I plan on releasing another milestone this month that is more or less a code refactoring that will make working with the eXtremeTable even easier. Especially people using the Pagination feature are going to love the new way of interacting with the eXtremeTable!
-Jeff JohnstonPosted by Jeff Johnston on October 02, 2005 at 11:21 AM MDT #
It's actually pretty easy to use two parameters in a link w/ the display tag - just give the column a body. <pre style="margin-top: 10px"> <display:table id="foo"...> <display:column sortProperty="bar"> <a href="<c:url value="/edit.html?id=${foo.id}&name=${foo.name}"/>">Edit</a> </display:column> ...
Posted by Matt Raible on October 04, 2005 at 04:36 PM MDT #
Posted by Jyoti on November 22, 2005 at 09:54 AM MST #
Posted by kishore on June 29, 2006 at 12:28 PM MDT #
Posted by Arpan Shah on January 09, 2007 at 05:47 PM MST #
Posted by Lavanya on July 17, 2007 at 04:23 AM MDT #
Posted by Naman on January 22, 2008 at 06:13 AM MST #
I already created a table that allows me to scroll through and filtrer data.
It works fine.
My JSP page invokes two different actions.
First Action is SearchAction with corresponding SearchForm.
That action fills up ArrayList with the data and displays it using extremetable.
Second Action is GeneralAction and invoked when selecting a particular record, and adding/editing the record.
I already have this two Actions working fine.
I have two problems I'm working on for a couple of days and do not seem to have any progress solving them. Problems are following:
1. I have let's say a 100 of records, and display only n number of records per page. Now, suppose I scrolled away from the first set of data and clicked on the row I want to change. I keep coming back to the first set of records(first n records).
I figured that out by setting the state to "persist".
That allows me to stay at the same screen when clicking on the raw.
However, that works only if I do not select the number of record to display from dropdown list.
After doing that, I keep getting the selected number of rows specified by dropdown option no matter what I do.
However, when clicking on "Search" and invoking the SearchAction, state does not change and it brings me back to the same set of rows where I was selecting the record for edit until I click one of the scroll buttons on the table.
I think I specified all the issues I'm facing right now.
If anyone can help me and point out on what I'm doing wrong.
Thank you
Posted by Eugene Gruzin on May 06, 2008 at 03:50 PM MDT #
Posted by Sam on June 06, 2008 at 05:14 AM MDT #
Posted by Sonia Jain on February 17, 2009 at 08:15 AM MST #
Hi,
I am getting problem in Excel export functionality of extremecomponets.
When I click on export, I entire un-formatted data is rendered on the screen...
Please help........
Posted by Saurabh on October 09, 2012 at 02:05 PM MDT #