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 >
PreserveSortAndPage.patch
Description: Binary data