I've had similar problems (caching in general). I was running a mixed
T5/Spring MVC app so in the end I wrote a filter which set the various http
headers and I then mapped certain requests to that filter. In the end I
found that I needed to set quite a few cache related headers to get things
working across all browsers:

<filter>
    <filter-name>NoCacheFilter</filter-name>
    <filter-class>com.thc.util.servlet.ResponseHeaderFilter</filter-class>
    <init-param>
        <param-name>cache-control</param-name>

<param-value>private,no-cache,no-store,must-revalidate,max-age=-1</param-value>
    </init-param>
    <init-param>
        <param-name>pragma</param-name>
        <param-value>no-cache,no-store</param-value>
    </init-param>
    <init-param>
        <param-name>expires</param-name>
        <param-value>-1</param-value>
     </init-param>
</filter>

As you see I needed to set the cache-control, pragma and expires headers to
get it to play nicely

You might want to try something along those lines, of course if you have a
pure T5 app you could you a Tapestry filter instead of a standard servlet
filter as I did

2009/10/23 Felix Gonschorek <fe...@ggmedia.net>

> Hi all,
>
> we're experiencing a weird problem here with a live system (big b2b
> enterprise shop frontend): Some users report that nothing happens when they
> click on links.
>
> We narrowed things down and found out that only component event links are
> affacted that do not redirect to another page, for example:
>
> Page is: "/productlist". The page contains a product listing with a pager -
> users can navigate with the pager (switch pages, sort products)
>
> When the user clicks on an pager event link to go for example to the second
> page, the link looks like this: "/productlist.pager:gotopage/2".
>
> The event handler sets the page number session variable to the value "2"
> and returns null - the same page ("/productlist") should be rendered again -
> but this time page two of the paged product list should be rendered.
>
> On most browsers and clients this works, but as mentioned: Some browsers do
> not follow the header "Location" - i can see it in the logfiles on the
> server. The PageRendering request ("header: Location") is not executed and
> the client loads the page from the browser cache - and page 1 of the paged
> products is displayed. So the users experience that "nothing happens".
>
> We heard from users using internet explorer 7 on the live system (tomcat 6
> behind apache with mod_jk) experiencing this problem and we could reproduce
> this with one system on our test environment (jetty 6, firefox 3.0.14) - the
> browser does not follow the Location header. If we deactivate the browser
> cache completely on firefox the problem does not occur.
>
> Only thing special we have is a "X-Ua-Compatible" header to force internet
> explorer 8 to be IE7 compatible. In the meanwhile we added the
> "last-modified","expires","pragma" and "cache-control" header to modify the
> browser cache behaviour, but so far with no success.
>
>
> This are the server response headers for the component event request:
>
> HTTP/1.x 302 Found
> Location: http://localhost:8080/drw/en/productlist/$N
> Content-Length: 0
> Server: Jetty(6.1.16)
>
>
> This are the server response headers for the page render request:
>
> HTTP/1.x 200 OK
> Last-Modified: Fri, 23 Oct 2009 12:51:42 GMT
> Expires: Mon, 26 Jul 1997 05:00:00 GMT
> Content-Type: text/html; charset=utf-8
> X-Ua-Compatible: IE=EmulateIE7
> Pragma: no-cache
> Cache-Control: no-store, no-cache, must-revalidate, post-check=0,
> pre-check=0
> Transfer-Encoding: chunked
> Server: Jetty(6.1.16)
>
>
> Has anybody experienced similar problems? Does anybody have a hint how we
> could force all browsers to do the page render request after the component
> event request, even if we do not change the page? As the problem occured on
> jetty and tomcat, firefox and internetexplorer we assume that some headers
> are incorrect, but we don't know which.
>
> Any help is much appreciated!
>
> Felix
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

Reply via email to