What I have been concerned about the "pagination" is the case the "Search" returns a huge volume of the result set.
Consequently, we are unable to cache the result. We have to display the first set of the records (say, 10 records) found. If the user opts to click on the numberical link "3", we make anoter trip to the database to retrieve records 21 to 30 to display.
The above practice works in the "session" scope. I have had problems with making it work in the "request" scope. If the "Search" feature could be used by a large number of web site visitors at the same time, the application takes performance hit when the "session" scope is used.
I am stuck in the "session" scope for another reason - I often have to provide checkboxes for the records found from the database table. Users may select a few records from the first page, a few records from; say, the 5th page, and then click the "SUBMIT" button. I rely on the "sesson" scope to memorize the user selected records from all those web pages that have been avigated through.
Is there a way to use the "request" scope in paging?