首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

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

2012-11-21 
3.在Java EE 6中使用JSF 2.0简化页面制作过去几个星期,我们对Java EE 6的新特性进行了一系列介绍。除了Serv

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.0Transitional//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所示。

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

?

?

热点排行