`
zyl
  • 浏览: 484152 次
社区版块
存档分类
最新评论

了解jsf的架构二

阅读更多
    接上一篇内容。这次主要分析一下jsf的相关组件包,也是jsf和structs主要不同的地方。jsf 规范中,对于组件的设计,和其他组件架构一样,分离表现层和模型层。对于组件的render由具体的Renderer来处理,这也达到了Model和 View分离的原则。
    component:所有的基本组件都在其中,如下的主要类图,对于各个组件就不一一详细介绍了。主要介绍一下几个接口:



StateHolder:用于表示在请求之间需要保存相应的状态信息,必须实现saveState和resotreState方法。
ValueHolder:用于支持本地值的保持,用于访问model数据,通过表达式,支持转换。
EditableValueHolder:用于表示那些可以编辑的组件值
ActionSource:由UIComponet实现,用于作为ActionEvent的事件源,支持默认的ActionListener调用
ActionSource2:这是最近的规范中增加的,提供了对于MethodExpression的支持。
ContextCallback:用于组件执行相应的回调
NamingContainer:标志接口,表示容器组件

    convert:包括了主要的Convert接口,以及内置的Convert实现类,主要的作用用于在页面值绑定时,进行类型的转换工作
    validator:主要的验证包,定义了通过的Validator接口,以及简单的几个验证类。默认情况下,jsf都是进行服务端验证,如果想需要客户 端验证,暂时从规范中,还没有找出相应的解决方案。不过现在已经是Ajax时代了,使用异步的传输,从效果上已经接近于客户端之间验证。
    event:主要的事件体系。个人觉得jsf的事件体系还是比较弱的。和强大的Swing事件体制相比,那简直差远了。而且jsf默认使用一个 ActionListener来委派所有的客户端动作触发。大多数的调用都是使用MethodExpression来进行。
    model:只是加强了对于DataTable的支持,以及SelectItems。
    render:主要的展示包,当然只是提供规范,具体由实现类提供。对于Renderer,都需要一套RenderKit.而RenderKit由 RenderKitFactory管理。ResponseStateManager,作为StateManager的帮助类,进行主要的State操作。
    基本上,规范也就这么些东东。从整体来看,并不算太复杂。可惜现在的jsf实现实在太多了,而且各个实现并不一定兼容,导致了jsf世界的庞大。
   

分享到:
评论
3 楼 bo_83 2007-04-27  
一看图头皮就麻了,水过
2 楼 rbible 2007-04-27  


内容不错
宽了点
1 楼 BIGN 2007-04-25  
hehe,好文章

相关推荐

    studentManager.zip

    2. 熟悉J2EE架构体系,SSH等开源框架;3. 了解Javascript/CSS,熟悉页面架构和布局,熟练设计和开发交互式Web应用;4. 了解AJAX等页面交互技术,JQuery等框架;5. 了解HTML、HTML5、XML、JSON等页面相关技术;6. ...

    seam+in+action+中文版

    1.了解seam项目结构。后台用的是ejb3以及配置文件介绍。 2.介绍seam管理的事务、组件等。 3.介绍了jsf与seam结合使用。 4.seam项目的标签、seam-gen创建项目等。

    Oracle ADF Survival Guide

    迅速掌握Oracle的应用程序开发框架(ADF)。快速构建易于重用,扩展和维护的... Oracle Forms和数据库开发人员正在为符合Oracle对ADF的战略方向的组织以及想要了解Oracle高效JSF框架的经验丰富的Java开发人员而工作。

    JSP2.0技术手册pdf(带示例源码).zip

    JavaServer Faces(JSF)技术以及Java Web Services技术的学习 目录 第一章 安装执行环境 1-1 安装 J2SDK 1.4.2 1-2 安装 Tomcat 5.0.16 1-3 安装 JSPBook 站台范例 1-4 安装 Ant 1.6 第二章 Servlet 2.4 简介 2-1...

    jsp2.0 技术手册

    对这两项技术的深入了解,将有助于您未来对于JavaServer Faces(JSF)技术以及Java Web Services技术的学习。 本书分为三大部分,前三章为基本概念部分,帮助读者奠定相关的概念基础;第四章至第十一章为JSP 2.0的...

    Oracle9i备课笔记——吕海东

    2. 了解目前市场上流行的数据库产品及特点 3. 了解Oracle数据库的发展 4. 掌握Oracle9i产品系列 5. 掌握Oracle9i Database Server的新特点及其在实际中的应用 6. 安装Oracle9i Database Server, Client及客户端常用...

    开源框架 Spring Gossip

    第一个 Struts 程式 在 Struts 中整合 Spring 第一个 JSF 程式 在 JSF 中整合 Spring <br> 其它 Spring 提供了简化且一致的方式,让您在使用一些 API 或服务时更加简单。 远程...

    本科毕业设计开题报告(计算机协会信息管理系统的设计与实现V5)

    该系统可以对社团工作进行快速、高效的管理,为社团之间和社团会员之间提供一个良好的信息交流的平台,让社团成员可以展示自己的风采,及时了解社团的新动态,营造一个现代化的学习生活环境。 三、课题的基本内容 ...

    JAVA上百实例源码以及开源项目源代码

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    JAVA上百实例源码以及开源项目

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    Spring API

    2.5.6. 对JSF 1.2支持 2.5.7. JAX-WS支持 2.6. 其他 2.6.1. 动态语言支持 2.6.2. 增强的测试支持 2.6.3. JMX 支持 2.6.4. 将Spring 应用程序上下文部署为JCA adapter 2.6.5. 计划任务 2.6.6. 对Java 5 ...

    Spring中文帮助文档

    2.5.6. 对JSF 1.2支持 2.5.7. JAX-WS支持 2.6. 其他 2.6.1. 动态语言支持 2.6.2. 增强的测试支持 2.6.3. JMX 支持 2.6.4. 将Spring 应用程序上下文部署为JCA adapter 2.6.5. 计划任务 2.6.6. 对Java 5 ...

    Java经典入门教程pdf完整版

    周期管理PLM、面向服务体系架构SOA、商业智能BⅠ、项日管理PM、营销管理、流程管 理 Work Flow、财务管理…..等几乎所有你能想到的应用 3:嵌入式设备及消费类电子产品 包括无线手持设备、智能卡、通信终端、医疗设备...

Global site tag (gtag.js) - Google Analytics