<display:table name="details"> <display:column property="id" title="ID" /> </display:table>
You can do:
<display:table items="${details}" var="customer">
<display:column property="${customer.id}" title="ID" />
<display:column property="${customer.orders['po-1234'].number}" title="PO Number" />
</display:table>
Notice the JSTL style of using 'items' and the 'var' attribute. By default I have the 'var' set to smartRow which is what the standard table tag uses. The expression syntax also lets you access maps, like in the second example, which is what I really needed.
I don't have sorting working just yet, but I'll work on that in the next day or so.
Before I send this in for all to look at, I would like some direction on cleaning this thing up, mostly with regards to the table tag. At the moment I have the table tag subclassed, but I have found that I will override most of the methods in a cut and paste fashion which just doesn't seem very elegant. I also had to make several things protected from private, including the SmartListHelper class. In short, it looks like a hack :-). There are two approaches I could take here, first do some better refactoring of the base tag so I don't have to override so many methods (namely in getting and sorting the list), or instead of having a separate tag, just incorporate all of the changes into the base tag. The second option might break compatability so it may not even be an option.
Thoughts??
Oh, one last though off the subject. I have found that for my app I needed to create several column decorators that were simply html outputs (no 'computations'). It would be nice if there was a 'pass through' column tag for just this purpose without having to resort to coding, so that we could do something like:
....
<display:passColumn title="">
<a href="editCustomer.do<c:out value="${customer.id}" />"><img src="editImage" /></a>
</display:passColumn>
....
basically it would just evaluate its body.
Thank, Robert McIntosh
------------------------------------------------------- This SF.net email is sponsored by: VM Ware With VMware you can run multiple operating systems on a single machine. WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the same time. Free trial click here: http://www.vmware.com/wl/offer/345/0 _______________________________________________ displaytag-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/displaytag-user

