技术开发 频道

Spring Web Flow为JSF开发者提供了什么?


IT168分析评论】 
    JSF已经成为有状态的Web应用程序的一个流行框架,至少JSF是JCP标准的两个实现Sun参考实现和Apache的MyFaces
官方所支持的。 

    定义页面导航是JSF开发者最平常的工作,根据JSF规范,页面导航描述规则和当用户点击一个按钮或者URL连接时所产生的行为,大多数JSF应用程序在faces.xml文件中定义导航规则。 

    一些开发者可能会发现JSF导航模型的一些问题,例如在JSF状态模型中管理导航等: 

    当连接页面整体启动时,Faces在请求之间保存视图状态,如果使用持久数据,这些都是在背后进行的。 

    Spring Web Flow能够使JSF应用程序的导航更加容易,当使用Spring Web Flow作为JSF的扩展主要有两个任务:处理视图导航规则和管理与用户接口的状态。 

    这样就集成了Web Flow的导航和状态管理与JSF的用户接口组件类库的有点,所有的JSF组件和视图可以继续的工作。使用 Web Flow,JSF开发者可以获得更有力的导航模型,减轻了传统的手工管理对话状态的痛苦。 

    Spring Web Flow控制功能的个体有些像帐户注册向导或者像一个用户的主/细编辑器,也可成为流定义。这样的控制器的运行实例叫流执行,一个新的流执行在运行时被执行,允许单用户在应用程序中参与对话。流执行处理选择用户的初始视图,同时也管理与用户对话的状态。 

    将Web Flow和JSF集成还要将Web Flow的流执行周期和JSF的周期相适应,这时通过执行一个定制的PhaseListener来实现的,PhaseListener处理执行被客户端请求的流执行, 也恢复JSF视图恢复期间的已经存在的流执行。 

    一旦Spring Web Flow 与JSF应用程序相集成,Spring Web Flow就能提供了几个导航特性:
     无需重启服务器就可实现动态导航规则 
     向前,后推,刷新,重定向,递归导航功能 
     导航逻辑的模块化和封装。
0
相关文章