JSF 2简介:JSF向导

Java 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. 总结页面

时间: 2025-01-18 21:04:07

JSF 2简介:JSF向导的相关文章

JSF 2简介

在 JSF 2 简介 系列的 上一期 中,我讨论了使用内置的 Ajax 实现自动完 成复合组件.页面作者可以在一个 facelet 中使用该组件,该组件负责处理所 有 Ajax 细节.尽管内置的 Ajax 已经存在,但仍然可以在开发人员实现复合组 件之后(可能是很长一段时间以后),方便地让页面作者将 Ajax 添加到该组件 中.本文将展示复合组件如何容纳后来添加的 Ajax. 在 "JSF 2 简介,第 3 部分:事件处理.JavaScript 和 Ajax" 中已经讨 论过,JSF

怀疑论者的JSF: 消除关于JSF的FUD

FUD 已经围绕 J2EE 的 JavaServer Faces (JSF) 技术多时了,我觉得现在该让它停止了 ,或者至少给出一种公允的说法.关于 JSF 的第一个谣传是,需要一个 WYSIWYG 拖放工具 来进行 JSF 开发.第二个谣传是,JSF 不支持诸如 Struts 这样的 MVC Model 2 框架.最 后一个,也是最致命的谣传是,JSF 开发就是难. 在这个 4 部分的系列文章中,我将尽量以最实际的方式消除所有这三个谣传,这种方式 就是教您利用 JSF 进行开发.实际上,如果您

jsf背景图片-JSF中标签如何实现背景图片,最好在举个例子,谢谢

问题描述 JSF中标签如何实现背景图片,最好在举个例子,谢谢 JSF中如何实现背景图片,最好在举个例子,谢谢<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Transitional//EN"" ""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd""> xmlns:f=""http://ja

综合JSF和Dojo小部件创建更好的用户体验

简介 JSF 是一种流行的 Web 框架.相当稳定并已被广泛应用于 Java Platform, Enterprise Edition (Java EE) 领域.Dojo 是一种功能最为强大的 Web 2.0 库之一,可用来为您的 Web 应用程序创建丰富的界面. 通过综合使用这两种技术,您就能享受到两种技术的好处.在服务器端,好处体现在对组件端对端的生命周期管理.后端 bean 数据捆绑和事件处理.在客户机端,您将能利用 Dojo 的丰富小部件.实时动画(比如淡出和滑变效果)以及拖放功能.此外

JSF 2.0 Ajax世界中的GMaps4JSF

简介 GMaps4JSF 旨在集成 Google 地图和 JavaServer Faces (JSF),使 JSF 开发人员只使用几个 JSF 标记就可以构造复杂的全景街拍图.您还可以轻松向地图添加几个不同的组件(标记.信息文本.控件.地表覆盖.多边形.多段线).GMaps4JSF 还可以向组件添加不同的服务端和客户端事件,无需编写 JavaScript 代码来绑定事件和组件.您只需在实现组件的客户端事件处理程序时编写 JavaScript 代码. Ajax 是任何当代 Web 应用程序中的主要

jsf开发的网站怎么seo优化?急,100分奉送

问题描述 如题,多谢,急! 解决方案 解决方案二:可以在jsf外套一层jsf然后将所有跟搜索相关的参数.属性描述都写全了,应该就可以了啊解决方案三:谢谢!不明白,怎么个套法?能更详细说说吗解决方案四:1.URL中出现关键词(英文)2.网页标题中出现关键词(1-3个)3.关键词标签中出现关键词(1-3个)4.描述标签中出现关键词(主关键词重复2次)5.内容中自然出现关键词6.内容第一段和最后一段出现关键词7.H1,H2标签中出现关键词8.导出链接锚文本中包含关键词9.图片的文件名包含关键词10.A

基于AJAX和JSF打造丰富的互联网组件

ajax|js|互联网 在本篇中,我们将向你展示怎样使用Mabon来创建一个简单而强有力的输入组件,它具有类似于Google Suggest所提供的内置的建议功能.为了使Web开发者更为容易地使用我们的JDJ InputSuggest组件,我们借助于Weblets开源工程来把外部资源,例如图标和JavaScript库,绑定到一个Java档案文件(JAR)中-由它来描述我们的JSF组件绑定. 一.创建支持AJAX的JSF HtmlInputSuggest组件 这个JSF AJAX输入建议方案共包括

探索JSF框架中使用的设计模式

js|设计 设计模式可以帮助用户在更高层次上抽象细节,更好地理解体系结构.如果比较熟悉 GoF 设计模式和 JavaServer Faces (JSF) 框架,本文可以帮助您洞察 JSF 框架中使用的设计模式,深入理解其工作原理. 本文探讨了 JSF 框架中使用的设计模式.详细讨论的设计模式包括 Singleton.Model-View-Controller.Factory Method.State.Composite.Decorator.Strategy.Template Method 和 O

JSP牵手JSF打造完美的Web应用

js|web Java在最近几年逐渐升温,随着Java SE 5和Java SE 6的推出,Java的未来更显得无比辉煌.但以Java为基础的JSP在Java SE 5推出之前却一直抬不起头来,这最重要的原因就是JSP虽然功能十分强大,但最大的优点也是它的最大缺点,功能强大就意味着复杂,尤其是设计前端界面的可视化工具不多,也不够强大.因此,设计JSP页面就变得十分复杂和繁琐... Java在最近几年逐渐升温,随着Java SE 5和Java SE 6的推出,Java的未来更显得无比辉煌.但以Ja