Apparemment, les pages sont été demandées à partir du cache du navigateur. Vous devrez désactiver la mise en cache côté client des pages en question. Vous pouvez le faire en créant un Filter
qui écoute sur un url-pattern
des pages pour lesquelles vous souhaitez désactiver le cache, par exemple *.jsp
. Effectuez les opérations suivantes dans la méthode doFilter()
:
HttpServletResponse httpres = (HttpServletResponse) response;
httpres.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
httpres.setHeader("Pragma", "no-cache"); // HTTP 1.0.
httpres.setDateHeader("Expires", 0); // Proxies.
chain.doFilter(request, response);
De cette façon, l'application côté client sera chargé de pas cache les demandes correspondant à la url-pattern
de ce filtre. Si vous appuyez sur le bouton Précédent, une requête réelle sera générée à partir du serveur avec les nouvelles données proposées. Pour conserver certaines données côté serveur entre les demandes, vous devez saisir la portée de session ou utiliser les requêtes GET uniquement.
Oh, ne pas oublier d'effacer le cache du navigateur d'abord après la mise en œuvre et avant l'essai;)
Quel problème de bouton de retour? –
détails du problème mis à jour – Vicky
Vous pouvez le faire facilement en utilisant des interceptions: http://stackoverflow.com/questions/26420941/how-handle-browser-back-button-in-spring-mvc/31217043#31217043 –