Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Struts Wiki" for change 
notification.

The following page has been changed by MichaelJouravlev:
http://wiki.apache.org/struts/StrutsBackButton

New page:
Work in progress!

The Back button issues are caused mainly by splitting state between client and 
server. If application allows to cache views, then when a user goes back in 
browser resource history, he sees a stale page. The state of this page does not 
correspond to state of the server anymore.

These are the choices to fight this problem:

 * Prohibit navigation with standard browser buttons;
 * Synchronize server to browser;
 * Synchronize browser to server;
 * Throw error and start with well-known "clean" point.

If server state has not been committed yet, it is possible to synchronize 
server to browser. This technique is used in now popular continuations 
approach. On the other hand, if server state has been committed, like after 
paying for the goods bought online, it is not possible to rollback server 
anymore and continuations technique falls flat.

On the other hand, synchronizing view with server is always possible.

== Hall Of Shame ==

Web applications that do not support browser navigation properly, try to 
restrict users from using standard browser buttons. You do not want to build an 
application that does something like this:



== More Information ==

See also: BrowserBackAndSecurity

Reply via email to