Hi,

I have a problem with navigation and would be happy to get advice.

I understand how the application manages navigation with the action attribute 
and the navigation handler. As long as the user uses application events 
(clicking a button, link etc.) to trigger navigation all is well: the current 
page is submitted using POST and the application determines what page to send 
next using a (dynamic) action attribute.

However, the user can also use the back and forward buttons or go back to some 
arbitrary page from the history list of the browser (or enter a link in the 
browser directly). This brakes navigation: the requested page is created 
using restore view. Then the framework jumps directely to render response to 
send the requested page to the browser. Thus, it bypasses any navigation that 
is wired into the application using action listeners and action attributes. 

This kind of navigation may make sence in some situations but it will be a 
problem in others. Is there a way to prevent the user from jumping to some 
arbitrary page from the history list, depending on the state of the 
application? (In other words, how can one enforce the navigation that is 
wired into the application, if necessary?)

Here is an example for what I mean: The user has worked through a "page 
flow" / "conversation" or what other terms are in use. The data are not saved 
in the backend though. Hence, before the user can leave the current "page 
flow", it would make sence to display a page that makes the user aware of the 
fact that there are unsaved data which may get lost. This page may ask the 
user to save the data or drop them. It follows, that this page must belong to 
the "page flow" because otherwise the data are already lost. (I assume that 
the data are saved at "flow scope".)

Thanks in advance for any ideas.

Regards

Andreas Schenk  

Reply via email to