JSF 2简介:JSF向导 - 编程入门网
JSF 2简介:JSF向导时间:2010-10-26 IBM David GearyJava™ Enterprise Edition (Java EE) 6 包含了很多像 JSF 2 这样功能强大的技术。Contexts and Dependency Injection(CDI)是这些技术中的一个,它在很大程度上标准化了在其他框架酝酿多年的一些概念。 在本文中,我向您展示如何综合使用 JSF 2 和 CDI 来实现一个在线小测验向导。CDI 为我带来了依赖注入、producer 方法和一个 conversation 作用域。我使用了这三者来实现一个向导,您可以轻松地将其用于任何一个多选的在线测试。 本系列并非只关注于 CDI。我将介绍如何: 使用 facelets 模板来最小化代码并最大化重用 Ajax 化向导以便获得更为顺畅的用户体验 使用 CDI 的依赖注入来简化代码 实现并使用 CDI producer 方法来在视图中无缝地使用 beans 利用 CDI 的 conversation 作用域来实现多请求用户用例 本文中的全部示例源代码均可下载得到。请参见 运行示例代码 侧栏获得下载链接以及指向部署指导的一个指针。 测验向导 图 1 显示了运行中的这个测验向导: 图 1. 测验向导 最初,这个应用程序只包含一个可开启向导的单独链接:<h:commandLink value="#{msgs.startWizard}" action="#{wizard.start}"/>。这个链接的文本(Start the wizard)来自一个属性文件并由该链接值内的 msgs.startWizard 表达式代表。国际化是 JSF 101 circa 2004,所以我在这里就不再过多涉及这些细节了。只需注意到整个应用程序都是本地化了的就足够了,并且所有字符串均从 messages.properties 文件拉出。 Start the wizard 链接会将用户带到这个测验向导页面,在这里,用户会被提问,一次一个问题,如 图 1 底部的两个图片所示。我通过一些简单的 Ajax 和一个服务器端 bean 控制此向导按钮的启用状态,我在本文的 Ajax 部分将向您详示。 图 2 显示了最后的一个问题,后跟用户答案的一个总结。当用户处于最后一个问题时,只有 Finish 按钮是启用的;单击该按钮会将用户带到总结页面。 图 2. 总结页面 JSF 2简介:JSF向导(2)时间:2010-10-26 IBM David Geary了解了这个测验向导如何工作后,我将向您展示它是如何实现的。 测验应用程序 这个测验应用程序的文件如图 3 所示: 图 3. 此应用程序的文件 我用一个 JSF 2 模板(/templates/wizardTemplate.xhtml)实现此测验向导,向导视图(/quizWizard/wizard.xhtml)使用了这个模板。 除了上述模板和视图外,我还有针对向导的每个组成块的 facelets — 全部处于 quizWizard 目录: 头部(/quizWizard/heading.xhtml) 问题(/quizWizard/question.xhtml) 单选按钮(quizWizard/choices.xhtml) Next、Previous 以及 Finish 按钮(quizWizard/controls.xhtml) index.xhtml facelet 用 Start the wizard 链接启动这个应用程序,而 done.xhtml facelet 则显示了问题和答案的总结。 对于客户机,就介绍这么多。在服务器上,应用程序有三个 bean,我们接下来将讨论其中的两个。 此应用程序的两个 question bean Question bean,如清单 1 所示,实际上是一个问题、一组答案选项以及一个答案: 清单 1. Question bean
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |