`

3.在Java EE 6中使用JSF 2.0简化页面制作

阅读更多

过去几个星期,我们对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 
               &nbsp;&nbsp;<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所示。

 

 

分享到:
评论

相关推荐

    在Java EE 6中使用JSF 2.0简化页面制作

    下面是一个简单的Facelets页面示例,这个例子展示了如何在Java EE 6中使用JSF 2.0和Facelets: 1. 首行定义了XML版本和编码。 2-3. DOCTYPE声明定义了文档遵循的XHTML标准。 4-7. 这里定义了页面的命名空间,包括...

    Mojarra JSF2.0库文件

    Mojarra JSF 2.0是针对JSF 2.0规范的实现库,包含了处理JSF生命周期、渲染组件以及与其他Java EE技术集成所需的所有类和接口。将Mojarra JSF 2.0库文件放置在Web应用的`WEB-INF/lib`目录下,是为了让应用服务器能够...

    jsf2.0 tutorial.rar

    JSF 2.0集成了Java EE的依赖注入(DI)机制,如JSR 330规范的@ManagedBean和@Inject注解,简化了组件之间的依赖关系。 9. **异步请求处理** JSF 2.0支持AJAX,允许部分页面更新,提升了用户体验。通过使用f:ajax...

    JSF2.0基本环境

    - JSF2.0是Java EE 6规范的一部分,它提供了一个声明式的方式来创建用户界面,简化了Web开发。 - JSF2.0引入了Facelets作为默认的视图描述语言,替代了JSP,使页面结构更加清晰,代码更易于维护。 - 新增了...

    Jsf2.0 Refrence

    **JSF 2.0(JavaServer Faces 2.0)是Java EE平台中的一个用于构建Web用户界面的组件框架。这个框架允许开发者通过声明式的方式处理用户交互,减轻了编写大量HTML和JavaScript代码的负担。** 在"Jsf2.0 Reference...

    jsf 2.0官方参考手册

    **JSF 2.0(JavaServer Faces 2.0)是Java EE 6平台上的一个关键组件,用于构建Web用户界面。它提供了一个模型-视图-控制器(MVC)框架,使得开发人员能够更高效地创建动态、数据驱动的Web应用程序。** **一、JSF...

    JSF2.0_开发入门

    - **JSF 组件**:JSF 2.0 提供了一套丰富的 UI 组件库,这些组件可以直接在 XHTML 页面中使用。 - **EL 表达式语言**:JSF 2.0 支持使用 EL(Expression Language)表达式语言,简化了页面与后端数据的绑定。 - **...

    jsf2.0(mojarra-2.0.2-FCS-binary.zip)

    - **CDI集成**: 与Java EE 6中的Contexts and Dependency Injection (CDI)框架集成,提供了更强大的依赖注入功能。 综上所述,`jsf2.0(mojarra-2.0.2-FCS-binary.zip)`是一个全面的JSF 2.0开发工具包,包含了从...

    JSF 2.0 开发资料

    它作为 Java EE 的一部分,在 JSF 2.0 版本中进行了大量的改进和增强,旨在简化 Web 应用程序的开发流程,提高开发效率,同时保持代码的可维护性和扩展性。 #### 二、JSF 2.0 的主要特性 ##### 1. **简化配置与...

    jsf 2.0(jar+源码+api+新特性示例)

    **JSF 2.0(JavaServer Faces 2.0)是Java EE 6中引入的一个重要的Web应用程序开发框架,用于构建用户界面。这个框架基于MVC(Model-View-Controller)模式,提供了丰富的组件库和事件处理机制,极大地简化了前端...

    JSF.2.0.Cookbook.Jun.2010

    - **第3章:数据处理** ——介绍如何在JSF应用程序中处理表单数据,包括数据绑定、验证和转换等。 - **第4章:页面导航与视图管理** ——探讨如何管理JSF应用中的页面导航流程以及视图状态。 - **第5章:国际化与...

    JSF2.0详解(英文版)

    这些组件展示了JSF 2.0中如何在页面上创建交互式元素,并通过Managed Beans将它们与后台逻辑关联起来。 除了基本组件,JSF 2.0还包括许多其他特性,如 faces flow、视图状态管理、Ajax支持、以及对CDI(Contexts ...

    JSF2.0 API

    3. **依赖注入**:JSF 2.0集成了Java EE 6中的CDI(Contexts and Dependency Injection),使得组件之间的依赖关系可以通过注解自动管理。 4. ** Managed Beans**:Managed Beans是JSF中处理业务逻辑的对象,2.0...

    JSF.2.0.Cookbook

    - **事件处理机制**:阐述JSF 2.0中事件系统的原理及其在页面交互中的应用。 - **高级主题**:覆盖国际化支持、安全控制、性能优化等方面的内容。 #### 四、版权信息 本书的版权所有者为Packt Publishing,首次...

    jsf2.0 完整实例(含所有jar包)

    JavaServer Faces (JSF) 是一个用于构建Web应用程序的Java EE框架,它提供了丰富的组件库和事件处理机制,简化了UI开发。JSF 2.0是该框架的一个重要版本,引入了许多新特性,如Facelets作为默认视图技术、增强的导航...

    JSF2.0:Validating User Input

    JSF(JavaServer Faces)2.0作为Java EE平台的一部分,在Web应用程序开发中扮演着重要的角色。它提供了丰富的功能来简化用户界面的设计和实现过程。其中一项关键功能就是对用户输入进行验证,以确保数据的有效性和...

    JSF2.0实战 - 1-3、Hello World,AJAX体验,onPageLoad

    JSF是一种用于构建Web应用程序的Java EE框架,它提供了一种组件化的方式来构建用户界面,简化了前后端的交互。 首先,让我们从“Hello World”开始。在JSF中创建一个简单的“Hello World”程序涉及到以下几个步骤:...

Global site tag (gtag.js) - Google Analytics