[ 
https://issues.apache.org/jira/browse/WICKET-6206?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Martin Grigorov resolved WICKET-6206.
-------------------------------------
       Resolution: Fixed
    Fix Version/s: 7.5.0
                   6.25.0
                   8.0.0-M2

Thank you!

> Image's anticache triggers multiple downloads of a single resource for a 
> single page
> ------------------------------------------------------------------------------------
>
>                 Key: WICKET-6206
>                 URL: https://issues.apache.org/jira/browse/WICKET-6206
>             Project: Wicket
>          Issue Type: Improvement
>          Components: wicket
>    Affects Versions: 7.3.0, 6.23.0
>            Reporter: Yoann Rodière
>            Assignee: Martin Grigorov
>            Priority: Minor
>             Fix For: 8.0.0-M2, 6.25.0, 7.5.0
>
>
> When rendering a single page with multiple references to the same image 
> resource (for instance a repeated icon in a table), each of these images gets 
> a different {{antiCache}} query parameter. Thus the browser rendering this 
> single page will perform a download for each occurrence of this image in the 
> page, not using its cache even in the scope of this single page rendering.
> I understand the need of preventing cache, but it may be a bit extreme to 
> prevent caching in the scope of a single page rendering.
> The reason for this extreme behavior is that {{Image}}'s anticache feature is 
> implemented as follows (Wicket 7.3):
> {code:java}
>       protected final void addAntiCacheParameter(final ComponentTag tag)
>       {
>               String url = tag.getAttributes().getString("src");
>               url = url + (url.contains("?") ? "&" : "?");
>               url = url + "antiCache=" + System.currentTimeMillis();
>               tag.put("src", url);
>       }
> {code}
> As each {{Image}}'s rendering may be done at a different time (a millisecond 
> later), the {{antiCache}} parameter may be different for each {{Image}}.
> Replacing {{System.currentTimeMillis()}} by 
> {{RequestCycle.get().getStartTime()}} should probably solve the problem... ?
> If impossible, maybe we could just remove the {{final}} keyword on 
> {{addAntiCacheParameter}} so that extending classes may override it?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to