X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=wicket%2Fcomponents%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fwicket%2Fbehavior%2FDisableCachingBehavior.java;h=d6ff4d0f619b1e40b409a6e6243a97db4427860e;hb=dd22a57387008cd14ae3c74b0f37159c92600933;hp=9b2ee590f3c7dd4cb576b4fac6a2e1a22d1b9018;hpb=e8442732ed5dd8c0e2c2bc02d7d1d5fce0ba1af5;p=utils diff --git a/wicket/components/src/main/java/org/wamblee/wicket/behavior/DisableCachingBehavior.java b/wicket/components/src/main/java/org/wamblee/wicket/behavior/DisableCachingBehavior.java index 9b2ee590..d6ff4d0f 100644 --- a/wicket/components/src/main/java/org/wamblee/wicket/behavior/DisableCachingBehavior.java +++ b/wicket/components/src/main/java/org/wamblee/wicket/behavior/DisableCachingBehavior.java @@ -19,15 +19,26 @@ import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.protocol.http.WebResponse; /** - * Behavior to disable browser caching. + *

+ * Behavior to disable browser caching. This also means that the page + * automatically expires the first time after it is rendered. + *

+ * + *

+ * Important: To make sure that form data cannot be submitted twice for + * the same data using the back button, it is still necessary to explicitly call + * getPage().getPageMap().remove(getPage()); + * in the onSubmit callback of the form. + *

* * @author Erik Brakkee * */ -public class DisableCachingBehavior extends AbstractPageBehavior { +public class DisableCachingBehavior extends ExpirePageImmediatelyBehavior { @Override public void setHeaders(WebPage aPage, WebResponse aResponse) { + System.out.println("Disabling caching for " + aPage.getClass().getName()); aResponse.setHeader("Pragma", "no-cache"); aResponse.setHeader("Cache-Control", "no-cache, max-age=0, must-revalidate, no-store");