Might be a good idea to attach the patch ;)
-David

> Here is another enhancement for the project.  It adds the attribute
> "preserveSortAndPage" to the table tag in both EL and standard versions.
> The idea is that (at least from usage on our own site) someone can sort a
> large list and get it exactly as they like it, then perhaps navigate away
to
> something else, and would like to when they return see it the same way
they
> left it (potentially, the data could change).  However navigating back to
it
> they likely wouldnt have the request parameters needed to sort it as it
was,
> so when the preserveSortAndPage attribute is set to true, the current
> sort/page/sort order (and potentially previous sort/sort order) are all
> saved into session attributes named the same as they would as request
> parameters.
>
> When the tag is executed and the preserveSortAndPage attribute is set to
> true it will first check the request parameters for the necessary
> information, and if it returns null from there it will fallback to
session,
> then eventually to defaults.
>
> There is an inherent limitation to this, if someone had a list somewhere
> else on the site and it was using the same name variables for its list,
and
> it also had the preserveSortAndPage attribute set the variables could
clash,
> thats a limitation of the parameter encoder.  I thought about tweaking the
> parameter encoder to also encode perhaps the current request.uri which
would
> be unique to that list because it would be on a different page from
another
> list, however we use struts and when I watched that value with the
debugger
> it was just pointing to my base tiles layout.. (which was surprising to
> me).. so that wouldnt uniquely define the list either.  So my conclusion
is
> it should be a documented limitation for people that want to use this
> feature, they need to name their lists differently if they are going to
use
> them across the site.
>
> Oh and I also fixed a bug that was in the TableTag.initParameters()
method,
> it was attempting to load the previousSort from
> TableTagParameters.PARAMETER_SORT instead of
> TableTagParameters.PARAMETER_PREVIOUSSORT
>
> Enjoy.. many more enhancements/fixes to come I would imagine =)
> -David
>

Attachment: PreserveSortAndPage.patch
Description: Binary data



Reply via email to