web flow2 的helloworld

没事就学习了一下web flow,但是学习过程中发现中文资料很少,比较好的就是

Spring Web Flow 2.0 入门:

http://www.ibm.com/developerworks/cn/education/java/j-spring-webflow/index.html,现在网上很多资料是Web Flow 1的,web flow 2的资料比较少,并且学习过程中发现SWF1和SWF2差异非常大,学习过程中碰到不少问题,把学习过程记录下来,java框架学习过程中,一般第一个都是helloworld,所以参照Spring Web Flow 2.0 入门写了一个helloworld,关键点:

1.启动流(配置文件webmvc-config.xml):

  <bean 
    id="viewMappings" 
	class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings"> 
       <props>
       <!--value>/webflow=flowController </value--> 
        <prop key="/flow-helloworld-id">flowController</prop>        
       </props>
	  
	</property> 
	<property name="defaultHandler"> 
	  <bean class="org.springframework.web.servlet.mvc.UrlFilenameViewController" /> 
	</property> 
  </bean> 

 配置flow-helloworld-id是注册flow(配置文件webflow-config.xml)中使用的ID,这样配置后带flow-helloworld-id字符串的请求将由flowController,来进行处理,流配置如下,同时指定流ID,如果不指定流ID,它默认使用流文件名称作为ID:

<webflow:flow-registry id="flowRegistry" flow-builder-services="flowBuilderServices"> 
    <webflow:flow-location path="/WEB-INF/flows/helloworld.xml" id="flow-helloworld-id"/>	 
  </webflow:flow-registry> 

 这样启动流时,使用:

<a href="flow-helloworld-id">hello world start</a>

 启动流后,使用:

<a href="${flowExecutionUrl}&_eventId=goto1">secondtpage</a>来控制流的流转:

flowExecutionUrl和_eventId都是流中的默认变量:

<view-state id="firstpage" view="firstpage">
	    <transition on="goto1" to="secondpage" />
	</view-state>

 这样点击上面链接,流对应goto1去匹配对应跳转。刚入门,原理方面的,还需要进一步学习,还是看源码实在.

附件没有添加需要用的包,这个直接使用web flow sample中用到的包。

猜你喜欢

转载自flyeagle.iteye.com/blog/1950553
今日推荐