一、JSF
古时候有一句话:知其然知其所以然。意思就是知道事物的表面现象,也知道事物的本质及其产生的原因。
那么,JSF在表面上以及本质上是什么东西呢?为什么会有JSF呢?
个人认为JSF(JavaServer Faces)从名字上来看,是一种Java服务Face的集合,不知道Face翻译成什么比较好,但是大概要表达的意思应该是一种用于与客户端交互的页面。在学习JSP与Servlet的时候,已经学过了,JSP主要的作用就是与客户端交互的,为什么还要用JSF?这也真是JSF出现的原因。
JSF是基于Java的Web应用程序的服务器端用户接口(UI)组件框架,它提供了一种以组件为中心来开发JavaWeb用户界面的方法,从而简化开发。更重要的是JSF将MVC模型继承到它的体系结构中,确保了程序的可维护性。
二、UI组件、JSTL以及EL表达式
刚刚已经提到JSF是以组件为中心进行开发的,所以在JSF中必定会存在与组件有关的技术。JSF定义了一组UI组件,以及一组标准的API。所以的UI组件都可以直接在页面里使用,而且组件几乎都是HTML form系列标记的翻版。
JSTL(JavaServer Pages Standard Tag Library)是包括了很多JSP公用的核心功能。取代了在JSP应用中融合种类分多的标签,JSTL使用一种单一的标准的标签集合。
JSTL包括循环标签、流程控制标签、操作XML标签、格式化标签、使用SQL的标签和函数标签。
在JSF页面中,主要使用到的标签库是
EL表达式是一种特殊的表达式,分为两种:E表达式和L表达式。E表达式是即时表达式,即时表达式意味着页面在第一次调用时,JSP引擎就会计算表达式的值并立即返回结果。L表达式是延迟表达式,意味着不管是否合适,该表达式只能在页面的生命周期以后使用自己的机制计算表达式的值。
关于表达式的计算和赋值,在JSF底层,使用的反射技术实现的。
三、JSFDemo
该例子实现的功能是通过登录页面登录系统,如果登录成功,跳转到登录成功页面,否则跳转到登录失败页面。使用的服务器是JBoss服务器。
login.jsp
其中
是使用JSTL标签库。
第一个是HTML的工具标签(因为组件几乎都是HTML form系列标记的翻版),第二个是核心标签库。
使用的是EL表达式中的延迟表达式,因为只有当输入过之后,提交的时候,在利用反射技术,为user实例赋值。并不是立即计算的。
failure.jsp
success.jsp
faces-config.xml
该配置文件中定义了托管Bean以及Bean的属性,还有就是导航规则,JSF架构会根据该配置文对整个程序件进行管理。
web.xml
该配置文件主要是在客户端访问的时候,web服务器会根据该文件找到相关资源并调用。
User.java
个人总结:JSF最重要的是faces-config.xml文件。如果该文件中的内容搞清了,那么整个流程就会很清楚,学起来也会很容易,使用起来也会得心应手。
转载请注明出处:http://blog.csdn.net/ljp2009012843/article/details/7593199
分享到:
相关推荐
"JavaEE学习笔记.pdf" JavaEE(Java Enterprise Edition)是Java平台的企业版,用于开发大型企业级应用程序。作为JavaEE学习笔记,以下是相关的知识点总结: JavaEE架构 JavaEE架构主要由以下几个部分组成: * ...
以上就是JavaEE学习笔记中可能涵盖的关键知识点,它们构成了JavaEE开发的基础,并且每个部分都有深入研究的价值。通过学习和实践这些技术,开发者能够构建出高效、稳定和可扩展的企业级Web应用。
本篇实战笔记主要补充了在JavaEE5中使用JSF的一些关键点,特别是关于流程转向和界面参数传递。 1. **流程转向**: 在JSF中,流程转向通常通过`faces-config.xml`文件中的`<navigation-rule>`元素来定义。例如,当...
此外,JavaEE学习笔记还会涉及MVC(Model-View-Controller)设计模式,如JSF(JavaServer Faces)或Spring MVC。这些框架简化了用户界面的构建,并且提供了一种组织代码的良好方式。 最后,笔记可能还会讨论到...
这个"Javaee课堂笔记精华总结就业必备"显然是一份针对求职者或初入职场的开发者准备的学习材料,旨在帮助他们掌握JavaEE的核心概念和技术,以提升就业竞争力。 JavaEE平台包括一组服务、APIs和协议,用于构建分布式...
这个压缩包“JavaEE基础笔记.zip”很可能是包含了一系列关于学习JavaEE基础的文档或者教程,帮助初学者理解并掌握JavaEE的核心概念和技术。 JavaEE作为服务器端的开发平台,它的核心在于提供了一个用于构建分布式、...
本"JavaEE2017最新版基础班学习笔记"涵盖了JavaEE入门所需的基本概念和技术,是新手学习JavaEE的良好参考资料。以下将详细介绍其中可能涉及的关键知识点: 1. **Servlet与JSP**:Servlet是JavaEE中处理HTTP请求的...
### JavaEE5学习笔记01-JTA和数据库事务:深入解析与应用 #### 一、JavaEE5概览与核心组件 JavaEE5是Java Enterprise Edition的第五个版本,标志着企业级Java应用的一个重要里程碑。它引入了一系列重要的新特性,...
【描述】:“北京圣思园java课堂笔记 (javaSE和javaee)最全”意味着这份资料集合可能是关于Java编程语言学习最为详尽的资源之一,不仅包含了JavaSE的基础内容,还深入探讨了javaEE的企业级应用开发。 【标签】:...
总的来说,这个“javaEE示例word版”压缩包是一个全面的JavaEE学习资源,从理论到实践,覆盖了从基础到高级的各种知识点。通过学习和实践其中的内容,开发者可以系统地掌握JavaEE的开发技能,提升构建企业级应用的...
"达内javaSE,javaEE个人学习所有基础笔记"是一个针对初学者的全面学习资源,涵盖了从Java Standard Edition (Java SE)的基础知识到Java Enterprise Edition (Java EE)的高级概念。 Java SE是Java的核心部分,它...
5. **Spring框架**:Spring是JavaEE开发中最流行的框架之一,它提供了依赖注入、AOP(面向切面编程)、数据访问、Web MVC等功能,简化了应用的开发和测试。 6. **WebSocket**:在现代Web应用中,WebSocket协议允许...
8. **JSF(JavaServer Faces)**:一种用于构建用户界面的JavaEE组件框架,学员会接触UI组件、事件处理和数据绑定。 9. **Spring框架**:作为JavaEE开发的主流框架,Spring的IoC(控制反转)和AOP(面向切面编程)...