本文参考
http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=2630
http://www.jdon.com/idea/jsf-struts.htm
JSF 体系结构是一种 Web 应用程序框架。它是
Java Community Process (JCP) 推动的,有望成为 Web
应用程序开发的标准框架。目前用于开发 Web 应用程序的框架有 50 多个,这说明迫切需要实现框架的标准化,这正是 JSF
框架的目标!
JSF与STRUTS的一个主要区别:
当我们需要监听Jsp页面表单中的input字段时,Struts只能通过JS绕弯实现,而JSF可以直接实现。
<h:inputText id="userId" value="#{login.userId}">
<f:valueChangeListener
type="logindemo.UserLoginChanged" />
</h:inputText>
#{login.userId}表示从名为login的JavaBean的getUserId获得的结果,这个功能使用struts也可以现,name="login" property="userId"
关键是第二行,这里表示如果userId的值改变并且确定提交后,将触发调用类UserLoginChanged processValueChanged(...)方法。
JSF可以为组件提供两种事件:Value Changed和 Action. 前者我们已经在上节见识过用处,后者就相当于struts中表单提交Action机制,它的JSF写法如下:
<h:commandButton id="login" commandName="login">
<f:actionListener
type=”logindemo.LoginActionListener” />
</h:commandButton>
JSF是通过Listerner这样观察者模式贴在具体组件字段上的,而Struts此类事件是原始的一种表单提交Submit触发机制。如果说前者比较语言化(编程语言习惯做法类似Swing编程);后者是属于WEB化,因为它是来自Html表单,如果你起步是从Perl/PHP开始,反而容易接受Struts这种风格。
从网页设计人员的角度来看
,JavaServer Faces提供了一套像是新版本的HTML标签,但它不是静态的,而是动态的
,可以与后端的动态程序结合,但网页设计人员不需要理会后端的动态部份,网页设计人员甚至不太需要接触JSTL这类的标签,也可以动态的展现数据(像是动态的查询表格内容),JavaServer Faces提供标准的标签,这可以与网页编辑程序结合在一起,另一方面,JavaServer Faces也允许您自定义标签。
从应用程序设计人员的角度来看,
JavaServer Faces提供一个与传统应用程序开发相类似的模型(当然因某些本质上的差异,模型还是稍有不同),他们可以基于事件驱动来开发程序,不必关切HTTP的处理细节,如果必须处理一些视觉组件的属性的话,他们也可以直接在整合开发环境上拖拉这些组件,点选设定组件的属性,JavaServer Faces甚至还为应用程序设计人员处理了对象与字符串(HTTP传送本质上就是字符串)间不匹配的转换问题。
若要全盘了解,其实JavaServer Faces是复杂的,每一个处理的环境都值得深入探讨,所以学习JavaServer Faces时,我选择从使用的角度来了解,这样花费的心力少一点。
分享到:
相关推荐
本系列资料包括《JSF入门》、《JSF Web应用实战开发》和《JSF2》,旨在帮助初学者快速掌握JSF的核心概念和技术。 《JSF入门简体中文版》是学习JSF的基础,它涵盖了JSF的基本架构、组件库、生命周期和事件处理等方面...
本教程旨在帮助初学者快速入门JSF,掌握其基本概念、架构和常用功能。 一、JSF概述 JSF是Java Community Process(JCP)制定的标准之一,它基于Model-View-Controller(MVC)设计模式,为Java EE平台提供了丰富的UI...
一、JSF简介 JSF是Java EE标准的一部分,由Oracle公司维护。它提供了一种声明式的方式来处理Web页面和后端服务器之间的交互,减少了开发者编写大量HTML和JavaScript代码的需求。JSF的核心理念是通过组件化的方式来...
JavaScript全名JavaServer Faces(JSF)是一种基于Java的服务器端Web应用程序开发框架,由Sun Microsystems(现已被Oracle收购)开发。它旨在简化用户界面组件的构建和管理,为开发者提供一套面向对象的API,使其...
本教程将带你入门 JSF,通过创建一个简单的 "Hello, World!" 示例来理解其基本概念。 ### 1. 安装与配置 首先,确保你的开发环境已经安装了以下软件: - Java Development Kit (JDK):JSF 基于 Java,所以你需要...
### JSF入门知识点详解 #### 一、JSF概述 **1.1 简介JSF** JavaServer Faces (JSF) 是一种基于Java的标准技术,用于构建企业级Web应用。JSF的设计目的是简化Web应用程序的开发过程,通过封装HTTP协议的复杂性,...
一、JSF入门 JSF入门涉及理解其基本架构和工作流程。JSF应用通常由以下部分组成: 1. **Facelets**: Facelets是JSF的默认视图描述语言,用于构建用户界面。它允许开发者使用XML或XHTML语法来定义页面结构和组件。 ...
1. JSF入门 JSF的基础在于它的组件模型,这些组件可以直接映射到HTML元素,并且可以处理用户的输入。JSF提供了丰富的UI组件库,如按钮、表单、文本框等,开发者可以通过声明式的方式在页面上使用这些组件。 开发...
jsf入门教程jsf入门教程jsf入门教程jsf入门教程jsf入门教程jsf入门教程jsf入门教程jsf入门教程jsf入门教程jsf入门教程jsf入门教程jsf入门教程jsf入门教程jsf入门教程jsf入门教程jsf入门教程jsf入门教程jsf入门教程
**JSF(JavaServer Faces)入门(一)** JavaServer Faces (JSF) 是一个用于构建Web应用程序的Java EE框架,它提供了一种组件化、事件驱动的方式来开发用户界面。JSF的核心概念包括UI组件、事件处理、数据绑定以及...
1. **JSF入门教程**:JSF的基础知识讲解,涵盖了JSF的基本概念、架构和工作原理。这个部分将教你如何配置JSF环境,创建第一个JSF应用,理解JSF生命周期,以及认识JSF的核心组件如输入字段、按钮、表单等。通过这个...
这篇文档将引导你逐步入门JSF,从基础概念到实际应用,为你提供全面的学习指导。 ### 1. 入门 #### 1.1 简介 JSF JSF 是一种组件模型框架,它将UI元素(如按钮、文本框等)抽象为组件,允许开发者通过编程或XML...
本教程将带你深入了解JSF的基础知识,助你快速入门这一强大的框架。 **1. JSF简介** JSF是一个MVC(Model-View-Controller)框架,它简化了创建和维护动态Web页面的过程。JSF提供了组件模型,允许开发者使用预定义...
在上述的JSF入门例子中,我们首先看到的是`UserBean.java`,这是个简单的实体类,模拟了用户登录的情景。它包含了用户名`name`、密码`password`以及错误消息`errMessage`等属性,并提供了相应的getter和setter方法。...
javaServer+Faces入门简单中文版
这个"JSF入门实例 源代码"是专门为初学者设计的,帮助他们快速理解并掌握JSF的基本概念和用法。下面我们将深入探讨JSF的核心特性、工作原理以及如何通过给定的实例进行学习。 1. JSF概述: JSF是一种官方支持的...
在这个“一个简单的JSF入门Demo”中,我们将探讨JSF的基本概念、工作原理以及如何通过提供的源码和工具进行实践。 ### 1. JSF框架概述 JSF框架的核心理念是将用户界面(View)、业务逻辑(Controller)和数据模型...