您所在的位置: 首页 > 读书频道 > 设计开发 > Java系列 >

2.3.5 应用集成(1)

http://book.51cto.com  2008-09-24 15:36  麻地河 赵恒  机械工业出版社  我要评论(0)
  • 摘要:《JSF Web应用开发实战》详细介绍了UI组件、页面导航、托管Bean和统一表达式语言EL、事件驱动、转换器、验证器、消息以及数据库访问及持久化等内容。第二章描述了登录页面的完整开发过程,还在每一步骤中结合JSF技术对设计和代码进行了的分析,本节说的是应用集成。
  • 标签:Java  Web  导航  应用集成  WebLogin  JSF Web应用开发实战

2.3.5 应用集成

现在,我们已经完成了详细设计的大部分任务,包括项目的创建、业务逻辑的编写、网页的编写和页面导航的配置,不过,这些都是相对独立的部分,我们必须通过应用集成,将其组合起来,成为一个整体。

应用集成的任务

通常我们在设计Web应用时,会采用三端体系结构。三端体系结构从逻辑上将应用分解为三个“层”,又称“端”,分别是表示层、业务层和数据层。应用集成的任务,就是将这三个层联系起来,如图 2 15所示。

 
图 2 15 Web应用的三端体系结构和应用集成的任务

在我们的应用中,没有数据层,因此,应用集成的任务就是联系业务层和表示层。具体来说,只有两项任务:

在页面导航中加入业务逻辑;

在页面之间传递参数。

导航的控制

在JSF中,导航的控制,实际上是利用了JSF框架的事件驱动模式。关于事件驱动模式的详细讨论,我们放在后面的章节中,这里仅仅介绍一下与导航控制相关的事件及其响应。

JSF的某些UI组件可以触发事件,例如,WebLogin中的“确定”按钮组件和“重新登录”超级链接组件都可以触发一种称为action的事件。一旦JSF侦测到有action事件被触发,JSF框架立即启动导航机制,准备导航。

那么,JSF框架是根据什么信息来控制导航的呢?其实很简单,JSF框架的导航依据就是action事件处理例程的返回值。当某个组件触发action事件时,JSF框架自动调用该组件的action事件处理例程,而JSF规范规定,action事件的处理例程必须返回一个String,这个String与导航配置中的哪个出口相等,JSF就选择哪个导航出口,于是该出口对应的网页,就被显示出来。

静态导航和动态导航

JSF的导航方式有两种类型,一种是静态导航,另一种是动态导航。

所谓静态导航,是指在导航设计时就能够定下来的导航走向。在WebLogin中,我们有一个静态导航,那就是从Retry.jsp到Login.jsp的导航。从Retry.jsp到Login.jsp的这个导航走向是无条件的,不需要任何判断逻辑,在设计时我们就能定下来,而不需要等到运行时来动态确定,因此,这是一个静态导航。

相反,从Login.jsp出发的两个导航路线,即“登录成功”和“登录失败”,则是动态导航。在设计时,我们只知道有这两种可能的导航走向,而具体选择哪个导航出口,则需要在运行时,根据用户输入的正确与否来判断。这种在设计时无法确定下来的导航走向,就需要用到动态导航。动态导航需要在导航时加入判断逻辑来动态选择。

图 2 16示出了静态导航和动态导航的区别。

 
图 2 16 静态导航和动态导航的区别

回书目   上一节   下一节
企业级Web2.0 你准备好了么?
WebSphere 实现SOA的利器
Web安全云时代
企业Web安全威胁在线评估系统
Java实用开发全集
 
 验证码: (点击刷新验证码)   匿名发表
  • C#图解教程

  • 作者:苏林,朱晔
  • 本书是一本广受赞誉的C#教程。它以图文并茂的形式,用朴实简洁的文字,并辅之以大量表格和代码示例,精炼而全面地阐述了最新版C..
Copyright©2005-2008 51CTO.COM 版权所有