JSF 2 简介: JSF 向导
2010-08-26 00:00:00 来源:WEB开发网清单 1 和 清单 2 均没有什么特别之处 — 它们只是提供给我服务器上的一列问题 — 不过其中有一点值得一提,即我借助编程的方式用 helper 方法从一个资源包拉出字符串。您可以通过 下载此代码 来了解这个方法是如何工作的,而在 Core JavaServer Faces 则可以更深入地阅读到相关信息。
以上就是对此应用程序的 bean 的全部介绍了,只有一点需要补充,即 Wizard bean,它充当了此向导的控制器 。它里面的代码是此应用程序内惟一真正有趣的 Java 代码。我在 CDI: Dependency injection and conversations 部分,还会讨论这个 Wizard bean。
您对应用程序内的文件和这些 question bean 有所了解后,我接下来将向您显示我是如何实现这个向导的视图的。
模板和视图
对于大多数的向导,您可以放心地归纳出向导的结构,如图 4 所示:
图 4. 向导的结构
查看原图(大图)
清单 3 显示了封装该结构的一个模板:
清单 3. 向导模板 (templates/wizardTemplate.xhtml)
<!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"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<title>
<ui:insert name="windowTitle">
#{msgs.windowTitle}
</ui:insert>
</title>
</h:head>
<h:body>
<h:outputStylesheet library="css" name="styles.css" target="head"/>
<ui:insert name="heading"/>
<div class="wizardPanel">
<div class="subheading">
<ui:insert name="subheading"/>
</div>
<div class="work">
<ui:insert name="work"/>
</div>
<div class="controls">
<ui:insert name="controls"/>
</div>
</div>
</h:body>
</html>
更多精彩
赞助商链接