X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=wicket%2Fcomponents%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fwicket%2Fbehavior%2FDisableCachingBehavior.java;h=d6ff4d0f619b1e40b409a6e6243a97db4427860e;hb=219f333bf0a4732868fff4ef345ceb0ae320b508;hp=9b2ee590f3c7dd4cb576b4fac6a2e1a22d1b9018;hpb=6288694f32a25957da58df1dd6f0f94c699b5a64;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");