Rather than using SEAM or Spring WebFlow, I am wondering if it might be 
possible to use a
PhaseListener to create a simplified page flow.

By using 

facesContext.getViewRoot().getViewId();

it is possible to determine what page the user has landed on.

By using 

facesContext.getApplication().getVariableResolver().resolveVariable(facesContext,
"objectReference");

it is possible to get any object in the session.

In most cases, when you have a PageFlow, when a user gets to a specific page, 
there is a
requirement that an object or objects (usually held in session scope) be in a 
specific state.  If
the state of the object(s) is incorrect, the phase listener can easily forward 
to a new page by
using 

facesContext.getApplication().getNavigationHandler().handleNavigation(facesContext,
 "", "new nav"
);

It would even be possible to externalize the state conditions used by the 
PhaseListener into an
XML file similar to a WebFlow "definition"
(http://www.theserverside.com/tt/articles/article.tss?l=SpringWebFlow).

Am I being naive?

Please share your thoughts.

Mike



__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Reply via email to