JSF(Java Server Faces)技术从发布时间上看已经是一种比较古旧的技术了,但是目前仍未能成为主流的开发实践。从我知道这种技术开始, 我对它的判断就与我最早对于EJB的判断一样, 它们都在某种程度上捕获了真正的需求,但是因为它们自身诡异的技术路线.我很怀疑是否这些标准制定者故布疑阵, 便如Microsoft的OLE技术一样, 故意抛出一个错误的方向, 将大批组件开发商带入死局.
JSF技术是一种双重的存在:它首先是一种标准,然后也提供了一种缺省的实现。但是从这两方面,我都无法看到JSF的未来。
从设计上说,强类型的视图模型对象层与Witrix的架构设计原则严重冲突。Witrix的基本架构是浏览器和后台服务器通过具有显明语义的url实现两分,这也是所谓REST风格的一种内在要求。隐蔽了链接的技术破坏了基本的web超链模型. 为了获得那么一点点结构控制能力, 做出这样的抽象是不合适的.JSF的配置模型继承了structs的传统,仍然是那样的冗长繁杂。我们是否真的需要这些配置文件,还是希望像ROR那样在代码中直接完成一切?
不能在标准的浏览器中预览. 可以说创造了一个JSF IDE的市场, 但是这无疑是一个无聊的市场. 现在有一些备选的方案, 如Facelets, 使得jsf可以采用属性语法, 但是只要想想仅仅为了这么一点小小的修正所需要付出的开发量就足以让人崩溃。
JSF提供了组件级别的事件响应机制,因此似乎是AJAX应用的理想场所.但从Witrix平台的开发实践来看,JSF对于AJAX的使用是受限制的,有着很大局限性的.组件事件响应并不一定要采取JSF那种体系结构.
从实现角度上说,基于jsp tag可以说是JSF的致命弱点之一. jsp tag从设计之始就一直是未经过实践考量,其设计无法支撑复杂的控件架构. 特别是早期JSF与标准的JSP tag不能互通实际上是明显的设计缺陷, 而且性能问题是内置在该设计中的. 现在虽经多个版本的不断补救, 但是为了兼容性, JSP Tag负担过重, 它始终是基于文本处理模型,实际上不可能有什么本质性的进步. JSP tag模型过分孱弱必然造成JSF设计中大量处理过程堆叠到界面对象层,更加剧了JSF的模型复杂度和性能瓶颈。 实际上根据Witrix平台中tpl模板技术的设计经验,大量界面构建过程是可以在模板层以直观的方式完成的,而不需要借助视图模型对象。
所有问题的一个集中体现就是增加一个新的JSF组件绝对不是一件平凡的事情.如果有一天这个问题可以得到解决,那时的JSF从思想和实现上都必然和现在的JSF有着本质性的区别.
分享到:
相关推荐
JSF的技术文档,JSF技术测粗略讲解,入门级资料
《JSF2》是关于JSF的第二版,相比第一版,JSF2引入了许多新特性,如Facelets作为默认视图层技术,使得视图更易于维护;引入了Partial State Saving,降低了服务器内存消耗;支持CDI(Contexts and Dependency ...
**JSF 1.2核心详解** JavaServer Faces (JSF) 是Java平台上的一个用于构建用户界面的组件模型框架,特别适用于Web...而`core jsf.chm`文件很可能是关于JSF 1.2的官方文档或教程集合,可以帮助深入学习和掌握这些概念。
Java Server Faces(JSF)是Java平台上用于构建Web应用程序的一种框架。它是一个MVC(Model-View-Controller)架构的实现,旨在简化开发过程,提供组件化的方式处理用户界面,并与后端数据服务进行交互。JSF的核心...
**JSF使用.ppt**这个文件名可能是关于JSF使用的一份PPT教程或演示文稿,通常会涵盖以下内容: 1. **JSF架构**:介绍JSF的基本结构和工作流程。 2. **生命周期**:解释JSF组件的生命周期,包括初始化、处理请求、...
标题"jsf-spring-4.0.3"表明这是一个关于JSF与Spring整合的特定版本,4.0.3可能指的是Spring框架的一个版本,这通常意味着该资源包含了使得这两个框架能够协同工作的配置和示例代码。 在描述中提到的"jsf他spring...
这个名为"jsf.rar"的压缩包包含了关于JSF的详细技术文档,旨在为初学者提供一个全面且简洁的学习资源。让我们深入探讨JSF框架的核心概念、工作原理以及如何在J2EE环境中应用它。 JSF主要设计目标是简化Web应用程序...
以下是关于JSF 1.2的一些核心知识点: 1. **组件模型**:JSF的核心是组件模型,它允许开发者使用预定义的UI组件(如按钮、文本框、表格等)来构建页面。这些组件可以通过XML声明在视图中,并且可以进行属性设置和...
这份"jsf核心编程源码"资源显然是一个关于JSF深入学习的实例教程,包含有"corejsf2-examples-part1"这个子文件夹,很可能里面是JSF 2.x版本的一些基础到进阶的示例代码。 JSF的核心概念包括以下几个方面: 1. **...
根据提供的标题、描述和部分未解析的内容,我们可以总结出关于JSF(JavaServer Faces)1.2版本的一些关键知识点,尤其是其在国内的实现与Ajax技术的结合。 ### JSF1.2简介 JSF,即JavaServer Faces,是Sun ...
例如,可以通过访问`http://www.coreservlets.com/JSF-Tutorial/`获取更多关于JSF的教程和示例代码。 #### 七、定制化Java EE培训 除了上述知识点外,该课件还提到了由知名作者和开发者提供的定制化Java EE培训服务...
在标题"JSF01~03"中,我们可以理解这是关于JSF的一系列实践教程或示例代码,可能分为三个部分,01、02和03,分别代表不同的章节或阶段,可能涵盖了JSF的基础到进阶内容。 描述中的"jsf 实践的源码欢迎下载01_03...
这个压缩包文件"JSF.zip"中的资源,显然是一份关于JSF的教程,可以帮助学习者快速掌握JSF的基本概念、用法以及最佳实践。 首先,让我们深入了解JSF的工作原理。JSF框架基于MVC(Model-View-Controller)设计模式,...
在`JSF_API.CHM`中,你可以找到关于JSF接口、类和方法的详细描述,包括它们的功能、用法和示例。这包括但不限于以下核心组件: - `javax.faces.application.Application`: 应用程序的上下文,管理组件、转换器、...
在提供的压缩包中,很可能包含了一本关于JSF的PDF文档,这将深入解释JSF的各个方面,包括组件库、页面导航、数据验证、国际化和本地化等主题。另一份JSP中文学习文档可能有助于理解JSF与JSP的关系,因为JSP可以作为...
在这个名为"jsf_page.rar"的压缩包中,包含了一个关于JSF分页处理的示例,这对于理解和实现高效的数据展示非常有用。下面我们将详细探讨JSF分页、相关技术以及如何在实际项目中应用。 1. JSF分页基础: - 分页是...
10. **最佳实践**:提供关于JSF开发的一些实用技巧和建议,以优化开发过程和提升应用性能。 **资源文件**: - **JSF 教程.pdf**:可能是林信良编写的JSF教程全文,详细阐述JSF的各种概念和使用方法。 - **...
你可以在GlassFish的源码库中找到更多关于JSF的实现细节,这将有助于对比和理解Sun官方提供的JSF源码。 总之,JSF 1.2的源代码提供了一个学习和研究JSF内部机制的机会,通过深入研究,开发者可以提高对JSF的理解,...
标题“jsf in action 中文版”暗示这是一本关于JSF技术的专业书籍,中文版本方便了中文阅读者学习和理解。书名中的“Action”通常与编程中的动作或事件处理有关,可能涵盖了JSF中组件交互和事件处理的机制。 描述中...
**JSF in Action** 和 **jsf宝典** 可能是关于JSF技术的详细教程或参考书籍,旨在帮助开发者深入理解JSF的工作原理和最佳实践。这类资源通常会涵盖JSF的核心概念、组件、生命周期、事件处理、表单验证、国际化、错误...