Andrej Koelewijn 在他的BLOG上写了一篇文章“Creating a jsf div component”(http://www.it-eye.nl/weblog/2006/04/25/creating-a-jsf-div-component/),用大约一两千字的篇幅写了一个很简单的JSF组件。这篇文章在Tapestry的mail list(http://news.gmane.org/gmane.comp.java.tapestry.user)基本引起了哄动,有人甚至“ROTFL”(笑得在地板上打滚),因为要实现同样的功能在Tapestry中只需一行代码!一个Tapestry同仁说:“
Abstraction layers on top of abstraction layers...
They have built so many of them that they have abstracted themselfs from the
reality... the majoraty of JSF users just want to build HTML pages! So let's
make it totally complicated for them.... :-D
”
文章作者Andrej Koelewijn坐不住了,不得不又写一篇BLOG解释(http://www.it-eye.nl/weblog/2006/04/26/jsf-productivity/)。他承认,用JSF写一个组件确实比较麻烦,确实不如在Tapestry中方便。但他仍坚持认为JSF的综合生成力强于Tapestry,因为JSF有很好的IDE的支持(如JDeveloper)而Tapestry没有。
Tapestry大大简化了组件的编写工作,它鼓励开发人员在自己的WEB应用程序中编写自己的组件,以达到更高程度上的代码复用。鼓励开发人员写组件,恐怕连Delphi、VB都没有做到——有多个人能在开发软件时“顺便”写出几个组件出来?但在Tapestry中,写个组件算什么,太容易了,如果一个WEB程序中竟然没有一个自己写的组件,反而说明作者的开发思路有问题。注:这并不是因为Tapestry缺少内置组件,Tapestry中的内置组件(以及第三方组件)并不少。鼓励开发人员写组件大致有两个原因:一,写组件很容易,二,更利于代码重用。
分享到:
相关推荐
在这个“JSF简单入门例子”中,我们将深入探讨JSF的基本概念、关键组件以及如何创建一个简单的JSF应用程序。 **1. JSF基本概念** - **组件模型**:JSF的核心是组件模型,它定义了UI组件及其交互方式。组件可以是...
jsf实例 JSF学习 JSF jar包 JSF jsf实例 JSF学习 JSF jar包 JSFjsf实例 JSF学习 JSF jar包 JSF jsf实例 JSF学习 JSF jar包 JSF
**JSF(JavaServer Faces)** 是一个Java平台上的用户界面框架,用于构建Web应用程序。它简化了开发人员创建交互式、数据驱动的Web界面的过程。JSF提供了一个组件模型,允许开发者通过拖放组件的方式来构建用户界面...
书中会介绍如何创建一个简单的JSF应用程序,设置开发环境,以及如何使用JSF的UI组件来构建动态网页。此外,还会讲解EL(Expression Language)和 Managed Beans,这两个是JSF中用于数据绑定和业务逻辑处理的关键技术...
它提供了一种组件化的方式来构建用户界面,简化了前后端交互的复杂性。在JSF中,开发者可以使用声明式编程模型来处理用户事件,减少手动编写HTML和JavaScript代码的工作量。下面,我们将深入探讨JSF开发中所需的核心...
这篇文章将探讨如何在JSF 2中实现国际化,以便为全球用户提供更好的用户体验。 首先,我们需要了解JSF中的资源bundle。资源bundle是一个包含特定语言环境下的文本字符串的Java properties文件。例如,我们创建一个...
**JSF(JavaServer Faces)** 是一种Java平台上的Web应用程序开发框架,它提供了一种组件化和事件驱动的方式来创建用户界面。JSF的核心概念包括组件、事件、渲染器和生命周期,这些元素共同构建了一个强大的MVC...
虽然可以手动实现分页,但使用成熟的JSF组件库(如PrimeFaces、RichFaces等)可以使工作变得更加简单。以PrimeFaces为例,`p:dataTable`组件自带了分页功能,只需配置`rows`属性(每页记录数)和`paginator`属性...
JSF提供了组件库,使得创建动态、交互式的网页变得简单。 在“jsf第一个例子”中,我们通常会遇到以下关键概念: 1. **JSF生命周期**:JSF有六个主要阶段,包括恢复视图、应用请求值、处理验证、更新模型值、调用...
JavaServer Faces (JSF) 是一个用于构建用户界面的Java Web...总结来说,JSF通过其组件化、事件驱动的架构,为开发人员提供了强大的工具,简化了Web应用的构建,同时也提供了一种灵活的方式来处理用户交互和业务逻辑。
这是一项关键功能,因为它允许应用程序为不同地区的用户提供本地化的体验。 国际化通常涉及以下几个核心概念: 1. **资源文件**:在JSF中,资源文件通常是.properties格式,包含键值对,其中键是消息的标识,值是...
一个例子:jsf国际化
JSF(Java Server Faces)技术为开发基于网络用户界面的Java开发者提供了标准的编程接口API以及标签库。就像Struts框架一样,JSF定义了一套JSF标签 JSF的全称 1、Joint Strike Fighter (JSF) 2、Java Server ...
JSF(JavaServer Faces)是Java平台上用于构建用户界面的Web框架,尤其在处理表单和数据交互方面表现强大。本项目聚焦于JSF的文件上传功能,特别是针对大文件的上传,允许用户上传最大可达1.99GB的文件。在实际应用...
《JSF_实战》非常好的JSF学习书《JSF_实战》非常好的JSF学习书《JSF_实战》非常好的JSF学习书《JSF_实战》非常好的JSF学习书《JSF_实战》非常好的JSF学习书《JSF_实战》非常好的JSF学习书《JSF_实战》非常好的JSF...
JSF 1.2支持资源包,允许开发者为不同地区和语言提供本地化的消息和标签。通过`<f:loadBundle>`标签,可以加载相应的资源文件。 ### 10. 整合其他技术 JSF 1.2能够很好地与其他Java EE技术(如EJB、JPA、CDI等)...
jsf 视频 java faces jsf 视频 java faces jsf 视频 java faces
综上所述,这个简单的JSF登录示例展示了如何配置`web.xml`和`faces-config.xml`,创建登录页面以及实现后端逻辑。通过学习这个案例,初学者可以理解JSF的基本工作原理,并逐步掌握更复杂的应用开发。
#### 二、为什么选择JSF? ##### 1. 高度抽象 相比于其他框架如Struts,JSF提供了更高层次的抽象,这意味着开发者可以更加专注于应用程序的核心逻辑而不是框架细节。此外,JSF还为Web应用程序提供了基础的支持,但...