Struts
Muchas veces, la utilización por parte del usuario de un sitio del "Volver" del navegador puede ocasionarnos problemas. Para prevenir esto, se suele utilizar el siguiente código html:
<meta http-equiv="Expires" content="Tue, 01 Jan 2000 12:12:12 GMT">
<meta http-equiv="Pragma" content="no-cache">
Esto funciona inconsistentemente en Internet Explorer. A continuación, una alternativa para que funcione con Struts:
<% response.setHeader("Cache-Control","no-cache"); response.setHeader("Pragma","no-cache"); response.setDateHeader ("Expires", 0); %>
Con esto, Internet Explorer soporta el cache.
Sin embargo, al parecer, Firefox 3 tiene problemas con el no-cache. Si se necesita contemplar también este explorador, el código es el siguiente:
<%
response.setHeader("Cache-Control","no-store"); response.setHeader("Pragma","no-cache"); response.setDateHeader ("Expires", 0); %>
saveToken y isTokenValid
El método saveToken() de la clase Action de Struts, es utilizado para evitar submits duplicados. Para hacer este checkeo, struts tiene el método saveToken() para setear el token, y isTokenValid() para validarlo del lado receptor.