Hi,
we are implementing a search page with
Struts 1.3, meaning we have certain search fields and a result list. It's required that only 12 hits are shown at a time, if a search returns more than 12 hits he have to offer small arrows and page numbers to browse results. We call that a page browser for us, I think pagination is the correct term for this (note: if there is a better or "real" English
word for this, please tell). With each jump to a result page we run the search again, meaning that we don't have all objects in memory, only 12 at a time.
We have a usability requirement that if any of the search fields are changed by the user WITHOUT hitting search but starting to browse results that the browsing should ignore the changed filter but use the "original" filter settings, not the new ones. Currently the page browser object holds a reference to the (single) search filter object, thus it can't remember the original results unless we create a deep copy of the original and hand that to the page browser. For various reasons this is rather complicated since the search filter object is rather complex. Is there a standard practice or a
pattern for page browsers we don't know yet?
EDIT: changed topic