接上一篇内容。这次主要分析一下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世界的庞大。
分享到:
相关推荐
通过这三份资料的学习,开发者将全面了解JSF的各个方面,从基本概念到高级特性,从理论到实践,为成为JSF开发专家奠定坚实基础。在学习过程中,建议结合实际编程练习,以加深理解和提高应用能力。同时,JSF社区提供...
首先,我们要了解JSF是什么。JavaServer Faces(JSF)是Java平台上的一个标准组件模型和事件驱动框架,用于构建用户界面。它简化了Web应用的开发,通过提供声明式UI组件和数据绑定,使得开发者可以专注于业务逻辑而...
本教程将深入探讨JSF架构的使用,帮助开发者掌握这一强大的技术。 首先,我们需要理解JSF的核心概念。JSF架构由几个主要组件构成:视图(View)、模型(Model)和控制器(Controller)。视图负责展示用户界面,模型...
1. **JSF架构**:介绍JSF的基本结构和工作流程。 2. **生命周期**:解释JSF组件的生命周期,包括初始化、处理请求、应用转换和验证、更新模型值、以及渲染响应等阶段。 3. **视图和导航**:讨论JSF如何处理页面间的...
通过对JSF架构的深入了解以及掌握其应用程序开发的核心流程,开发者可以更高效地构建出稳定、可靠且易于维护的Web应用。未来随着技术的发展,JSF还将继续优化和演进,为开发者提供更多便利和支持。
1. **JSF入门教程**:JSF的基础知识讲解,涵盖了JSF的基本概念、架构和工作原理。这个部分将教你如何配置JSF环境,创建第一个JSF应用,理解JSF生命周期,以及认识JSF的核心组件如输入字段、按钮、表单等。通过这个...
本教程将带你深入了解JSF的基础知识,助你快速入门这一强大的框架。 **1. JSF简介** JSF是一个MVC(Model-View-Controller)框架,它简化了创建和维护动态Web页面的过程。JSF提供了组件模型,允许开发者使用预定义...
总的来说,"IBM JSF学习资料"将带领你深入了解JSF的各个方面,无论你是初入Java Web开发的新手,还是寻求进一步提升的开发者,都能从中获益。通过学习这些资料,你将能够构建出功能强大、可扩展的Web应用,并掌握IBM...
二、JSF架构 1. **Facelets**:JSF 2.0开始引入Facelets作为默认视图层技术,它是一种XML-based模板语言,用于创建用户界面。 2. **Managed Beans**:在JSF中,业务逻辑通常封装在Managed Beans中,它们是Java对象,...
总之,这个JSF的学习资源包对于想要深入了解和掌握J2EE环境中JSF框架的人来说是非常有价值的。通过阅读文档并结合实际编码练习,开发者可以快速上手并有效地利用JSF来构建高效、可维护的企业级Web应用。
通过分析这个示例,开发者可以学习如何使用JSF2.2的特性,结合PrimeFaces组件库创建动态、响应式的Web界面,并了解如何组织和配置一个基本的JSF项目。这些知识对于理解和实践企业级Java Web开发至关重要。
**JSF(JavaServer Faces)** 是...为了深入理解和使用JSF,你需要解压并研究这些示例项目,查看它们的源代码,理解组件的使用、Bean的管理以及配置文件的结构。同时,结合官方文档和其他教程资源,可以加快学习进度。
7. **项目结构**:一个典型的JSF项目包括Web-INF目录,其中包含web.xml(Web应用部署描述符)和faces-config.xml。其他源代码、资源文件和Web页面则位于相应的目录下。 通过"JsfDemo入门例子",初学者可以快速掌握...
1. **Facelets** - JSF 2.0引入的新视图技术,取代了之前的JSP作为默认视图表示,使得页面结构更清晰,更易于维护。 2. **Managed Beans** - 用于存储和处理业务逻辑的对象,可以与JSF组件进行数据绑定。 3. **EL...
**JSF实战(完整版)** JavaServer Faces (JSF) 是一个用于构建Web应用程序的Java EE框架,它简化了用户界面组件的创建...通过阅读本书,开发者不仅可以了解JSF的工作原理,还能提升在企业级Web应用开发中的技能水平。
本书首先会引导读者了解JSF的基本架构和工作原理。JSF框架基于MVC(模型-视图-控制器)设计模式,将用户界面与业务逻辑分离,使开发者可以专注于各自领域的实现。书中会详细阐述JSF的生命周期,包括初始化、渲染、...
3. **易维护**: 由于其MVC架构,JSF应用的结构清晰,便于团队协作和长期维护。 4. **社区支持**: JSF有一个活跃的社区,提供了大量的开源组件库和解决方案,如PrimeFaces、RichFaces等。 ### 入门步骤 1. **环境...
首先,让我们深入了解JSF框架。JSF的核心是UI组件库,它包含一系列可重用的HTML元素,如按钮、文本框等,这些元素可以直接在视图层使用。JSF生命周期包括六阶段:恢复视图、应用请求值、处理验证、更新模型值、调用...
JavaServer Faces (JSF) 简介与深入解析 一、JSF概述:JSF是一种标准的Web应用框架,其核心目标在于简化...通过深入了解JSF的核心概念和架构,开发者可以充分利用其优势,构建出高效、健壮且易于维护的Web应用程序。