How to correctly start pageflows
mail.micke Aug 8, 2007 9:33 AMHi
I've been experimenting with pageflows a bit and different ways of starting them, prefferably I would like to start it in a way which doesn't require a backing bean method.
This works for me:
<s:link value="Start anno" action="#{dummyBacking.startPageFlowAnno}"/> @Begin(pageflow="test") public void startPageFlowAnno(){ System.out.println("Trying to start the page flow via annotation."); }
But the following two doesn't (the first approach actually kills the webapp):
<s:link value="Start comp params" action="#{dummyBacking.startPageFlow}" propagation="begin" pageflow="test"/> <s:link value="Start comp params" action="start" propagation="begin" pageflow="test"/> public String startPageFlow(){ System.out.println("Trying to start the page flow via s:link parameters."); return "start"; } <s:link value="Manual PageFlow start in code" action="#{dummyBacking.manualStartFlow}"/> public String manualStartFlow() { Pageflow.instance().begin("test"); return "start"; }
The pageflow definition:
<pageflow-definition xmlns="http://jboss.com/products/seam/pageflow" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://jboss.com/products/seam/pageflow http://jboss.com/products/seam/pageflow-2.0.xsd" name="test"> <start-state name="start"> <transition to="startPage"> <action expression="#{dummyBacking.resetNumber}"/> </transition> </start-state> <page view-id="/pageflow/start.xhtml" name="startPage" no-conversation-view-id="/pageflow/start.xhtml"> <redirect/> <transition name="next" to="subPage1"> <action expression="#{dummyBacking.incNumber}"/> </transition> <transition name="ManualStartFlow" to="subPage2"/> </page> <page view-id="/pageflow/flow1.xhtml" name="subPage1" no-conversation-view-id="/pageflow/start.xhtml"> <redirect/> <transition name="next" to="subPage2"> <action expression="#{dummyBacking.incNumber}"/> </transition> <transition name="prev" to="startPage"/> </page> <page view-id="/pageflow/flow2.xhtml" name="subPage2" no-conversation-view-id="/pageflow/start.xhtml"> <redirect/> <transition name="next" to="endPage"/> <transition name="prev" to="subPage1"/> </page> <page view-id="/pageflow/end.xhtml" name="endPage" no-conversation-view-id="/pageflow/start.xhtml"> <redirect/> <transition name="prev" to="subPage2"/> </page> </pageflow-definition>