快速业务通道

JSF 2简介:JSF向导 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
ity.messages", "earth", null)      })   };   public int size()            { return questions.length; }   public String getQuestion()       { return question; }   public void setQuestion(String question) { this.question = question; }   public Question[] getQuestions()     { return questions; } }

清单 1 和 清单 2 均没有什么特别之处 — 它们只是提供给我服务器上的一列问题 — 不过其中有一点值得一提,即我借助编程的方式用 helper 方法从一个资源包拉出字符串。您可以通过 下载此代码 来了解这个方法是如何工作的,而在 Core JavaServer Faces 则可以更深入地阅读到相关信息。

以上就是对此应用程序的 bean 的全部介绍了,只有一点需要补充,即 Wizard bean,它充当了此向导的控制器 。它里面的代码是此应用程序内惟一真正有趣的 Java 代码。我在 CDI: Dependency injection and conversations 部分,还会讨论这个 Wizard bean。

您对应用程序内的文件和这些 question bean 有所了解后,我接下来将向您显示我是如何实现这个向导的视图的。

模板和视图

对于大多数的向导,您可以放心地归纳出向导的结构,如图 4 所示:

图 4. 向导的结构

JSF 2简介:JSF向导(4)

时间:2010-10-26 IBM David Geary

清单 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>

这个测验向导的实现则如清单 4 所示:

清单 4. 向导 facelet (quizWizard/wizard.xhtml)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <ui:composition xmlns="http://www.w3.org/1999/xhtml"     xmlns:h="http://java.sun.com/jsf/html"    xmlns:ui="http://java.sun.com/jsf/facelets"    template="/templates/wizardTemplate.xhtml">   <ui:define name="heading">    <ui:include src="heading.xhtml"/&g

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号