过去几个星期,我们对Java EE 6的新特性进行了一系列介绍。除了Servlet 3.0的特性,Java EE 6也使用了新的JSF
2.0标准。下面我们来看一看JSF 2.0是如何简化页面制作并提供Ajax支持的。最后,我们对Servlet 3.0和JSF
2.0的新特性进行了总结。
简化JSF 2.0页面制作
JavaServer
Faces技术提供了一个服务端组件框架,简化了Java
EE应用程序用户界面的开发,其中最显著的改进是页面制作,通过使用标准的JavaServer Faces视图声明语言(JavaServer
Faces View Declaration Language,俗称Facelets)创建一个JSF页面更加容易。
Facelets
Facelets是一个强大的轻量级声明语言,可以使用它展示一个JSF页面,使用Facelets时,你可以使用HTML风格的模板展示一个JSF页
面,也可以构建一个组件树,JSF应用程序中的用户界面通常是由JSF组件构成的JSF页面,Facelets在JSP之上提供了更多优点。
在JSP中,Web页面中的元素是按照渐进顺序处理和渲染的,而JSF提供了它自己的处理和渲染顺序,这可能会导致不可预测的行为发
生,Facelets解决了这个问题,通过模板,Facelets也允许代码复用,可以大大减少开发UI的时间,现在Facelets已经成为构建JSF
应用程序的首选技术。
Facelets通常是使用XHTML标记语言编写的,因此Facelets是可以跨不同开发平台的,下面是
Java EE 6教材中提供的JSF页面的Facelets XHTML代码部分:
<xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h=http://java.sun.com/jsf/html
xmlns:ui="http://java.sun.com/jsf/facelets">
<head>
<title>Guess Number JSF Application</title>
</head>
<body>
<h:form>
<h2>
Hi. My name is Duke. I am thinking of a number from <b>
<h:outputText value="#{UserNumberBean.minimum}"/> to
<b>
<h:outputText value="#{UserNumberBean.maximum}"/>
. <p>
Can you guess it ?
</p>
<h:graphicImage id="waveImg" url="/wave.med.gif" />
<h:inputText id="userNo"
value="#{UserNumberBean.userNumber}">
converterMessage="#{ErrMsg.userNoConvert}">
<f:validateLongRange
minimum="#{UserNumberBean.minimum}"
maximum="#{UserNumberBean.maximum}"/>
</h:inputText>
<h:commandButton id="submit"
action="success" value="submit" />
<h:message showSummary="true" showDetail="false"
style="color: red;
font-family: 'New Century Schoolbook', serif;
font-style: oblique;
text-decoration: overline"
id="errors1"
for="userNo"/>
</h2>
</h:form>
</body>
</html>
这个Facelets
XHTML页面和普通JSP页面并没有多大不同,Facelets支持JSF和JSTL标签库,它也包括一个Facelets标签库,支持功能丰富的页面
模板。命名空间声明xmlns:ui="http://java.sun.com/jsf/facelets"就是针对facelets标签库的,但这里
没有使用facelets标签库的标签,facelets也支持统一的表达式语言。
页面渲染效果如图1所示。
分享到:
相关推荐
下面是一个简单的Facelets页面示例,这个例子展示了如何在Java EE 6中使用JSF 2.0和Facelets: 1. 首行定义了XML版本和编码。 2-3. DOCTYPE声明定义了文档遵循的XHTML标准。 4-7. 这里定义了页面的命名空间,包括...
Mojarra JSF 2.0是针对JSF 2.0规范的实现库,包含了处理JSF生命周期、渲染组件以及与其他Java EE技术集成所需的所有类和接口。将Mojarra JSF 2.0库文件放置在Web应用的`WEB-INF/lib`目录下,是为了让应用服务器能够...
JSF 2.0集成了Java EE的依赖注入(DI)机制,如JSR 330规范的@ManagedBean和@Inject注解,简化了组件之间的依赖关系。 9. **异步请求处理** JSF 2.0支持AJAX,允许部分页面更新,提升了用户体验。通过使用f:ajax...
- JSF2.0是Java EE 6规范的一部分,它提供了一个声明式的方式来创建用户界面,简化了Web开发。 - JSF2.0引入了Facelets作为默认的视图描述语言,替代了JSP,使页面结构更加清晰,代码更易于维护。 - 新增了...
**JSF 2.0(JavaServer Faces 2.0)是Java EE平台中的一个用于构建Web用户界面的组件框架。这个框架允许开发者通过声明式的方式处理用户交互,减轻了编写大量HTML和JavaScript代码的负担。** 在"Jsf2.0 Reference...
**JSF 2.0(JavaServer Faces 2.0)是Java EE 6平台上的一个关键组件,用于构建Web用户界面。它提供了一个模型-视图-控制器(MVC)框架,使得开发人员能够更高效地创建动态、数据驱动的Web应用程序。** **一、JSF...
- **JSF 组件**:JSF 2.0 提供了一套丰富的 UI 组件库,这些组件可以直接在 XHTML 页面中使用。 - **EL 表达式语言**:JSF 2.0 支持使用 EL(Expression Language)表达式语言,简化了页面与后端数据的绑定。 - **...
- **CDI集成**: 与Java EE 6中的Contexts and Dependency Injection (CDI)框架集成,提供了更强大的依赖注入功能。 综上所述,`jsf2.0(mojarra-2.0.2-FCS-binary.zip)`是一个全面的JSF 2.0开发工具包,包含了从...
它作为 Java EE 的一部分,在 JSF 2.0 版本中进行了大量的改进和增强,旨在简化 Web 应用程序的开发流程,提高开发效率,同时保持代码的可维护性和扩展性。 #### 二、JSF 2.0 的主要特性 ##### 1. **简化配置与...
**JSF 2.0(JavaServer Faces 2.0)是Java EE 6中引入的一个重要的Web应用程序开发框架,用于构建用户界面。这个框架基于MVC(Model-View-Controller)模式,提供了丰富的组件库和事件处理机制,极大地简化了前端...
- **第3章:数据处理** ——介绍如何在JSF应用程序中处理表单数据,包括数据绑定、验证和转换等。 - **第4章:页面导航与视图管理** ——探讨如何管理JSF应用中的页面导航流程以及视图状态。 - **第5章:国际化与...
这些组件展示了JSF 2.0中如何在页面上创建交互式元素,并通过Managed Beans将它们与后台逻辑关联起来。 除了基本组件,JSF 2.0还包括许多其他特性,如 faces flow、视图状态管理、Ajax支持、以及对CDI(Contexts ...
3. **依赖注入**:JSF 2.0集成了Java EE 6中的CDI(Contexts and Dependency Injection),使得组件之间的依赖关系可以通过注解自动管理。 4. ** Managed Beans**:Managed Beans是JSF中处理业务逻辑的对象,2.0...
- **事件处理机制**:阐述JSF 2.0中事件系统的原理及其在页面交互中的应用。 - **高级主题**:覆盖国际化支持、安全控制、性能优化等方面的内容。 #### 四、版权信息 本书的版权所有者为Packt Publishing,首次...
JavaServer Faces (JSF) 是一个用于构建Web应用程序的Java EE框架,它提供了丰富的组件库和事件处理机制,简化了UI开发。JSF 2.0是该框架的一个重要版本,引入了许多新特性,如Facelets作为默认视图技术、增强的导航...
JSF(JavaServer Faces)2.0作为Java EE平台的一部分,在Web应用程序开发中扮演着重要的角色。它提供了丰富的功能来简化用户界面的设计和实现过程。其中一项关键功能就是对用户输入进行验证,以确保数据的有效性和...
JSF是一种用于构建Web应用程序的Java EE框架,它提供了一种组件化的方式来构建用户界面,简化了前后端的交互。 首先,让我们从“Hello World”开始。在JSF中创建一个简单的“Hello World”程序涉及到以下几个步骤:...