过去几个星期我们对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代码部分
Html代码
html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
xmlns:f"http://java.sun.com/jsf/core"
xmlns:hhttp://java.sun.com/jsf/html
xmlns:ui"http://java.sun.com/jsf/facelets">
Guess Number JSF ApplicationHi. My name is Duke. I am thinking of a number from
to
.
Can you guess it ?
value"#{UserNumberBean.userNumber}">
converterMessage"#{ErrMsg.userNoConvert}">
minimum"#{UserNumberBean.minimum}"
maximum"#{UserNumberBean.maximum}"/>
action"success"value"submit"/>
style"color: red;
font-family: New Century Schoolbook, serif;
font-style: oblique;
text-decoration: overline"
id"errors1"
for"userNo"/>