Hi all,

The web app I've been working on has some issues with the back button.  For
instance, when using DefaultDataView, if a user goes back a page after
clicking a column heading, and then clicks a different link on the page, it
would cause an error.  This problem was easily solved manually by refreshing
the page, so my objective was to force the browser to reload a page upon
using the back button.  This was accomplished by directing the browser to
cache/store nothing with the following code:

    @Override
    protected void configureResponse() {
        super.configureResponse();
        final WebResponse response = getWebRequestCycle().getWebResponse();
        response.setHeader("Cache-Control", "no-cache, max-age=0,
must-revalidate, no-store");
    }

Basically, the equivalent of certain "meta" tags in the html header.

However, now I'm running into a different issue.  When hitting back and
revisiting an old page, users now get the message that the page has expired.
 While this is much better than displaying a runtime exception stack trace,
I'd like to actually just refresh certain pages in this case, rather than
expiring them.  In fact, it would be good to flag some pages as expired,
while reloading others.

So how can I do this?  And why are stale pages now showing up as expired in
the first place, when previously, reloading a stale page worked fine?

Ray Weidner

Reply via email to