快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
t;   </ui:define>   <ui:define name="subheading">    <ui:include src="question.xhtml"/>   </ui:define>   <ui:define name="work">    <ui:include src="choices.xhtml"/>   </ui:define>   <ui:define name="controls">    <ui:include src="controls.xhtml"/>   </ui:define> </ui:composition>

模板都相当简单。它们插入由视图定义的页面的某些部分。在本例中,清单 3 内所示的模板插入的是由 清单 4 内的视图所定义的 heading、subheading、work 和 controls 节。在模板内封装视图的常见特性会让创建新视图更为简便 — 在本例中,就是新类型的向导。

清单 5 显示了这个测验向导的 heading 节:

清单 5. heading (quizWizard/heading.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">     <div class="heading">      #{msgs.quizTitle}     </div> </ui:composition>

清单 6 显示了 subheading 节:

清单 6. subheading (quizWizard/question.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.or g/1999/xhtml"     xmlns:f="http://java.sun.com/jsf/core"     xmlns:h="http://java.sun.com/jsf/html"    xmlns:ui="http://java.sun.com/jsf/facelets">   <h:panelGrid columns="1" id="question">    #{wizard.cursor+1}. #{questions[wizard.cursor].question}?   </h:panelGrid> </ui:composition>

JSF 2简介:JSF向导(5)

时间:2010-10-26 IBM David Geary

视图抽象

模板让您能够封装视图的一些共有特性,让您得以重点关注于视图之间的变化。比如,这个向导模板就提供了窗口标题、样式表以及 — 通过 <div> 元素 — 每个视图的整体结构。正是由于对共有特性的封装,您才可以通过简单地插入页面的各个部分来轻松实现新的视图。

这个向导模板定义了视图的结构,却没有定义外观。外观被进一步封装在 CSS 内,为您提供了另一个层次的修改视图的基本模板的自由。

清单 5 内的 heading 显示了这次测验的标题,在本例中标题是 Science Quiz,而 清单 6 内的 subheading 则显示了问题。清单 6 内引用的 wizard.cursor 是一个指向当前问题的游标(如果您愿意,也可称之为索引)。该游标的基数为零,所以 #{wizard.cursor+1} 显示的将是题号,而 #{questions[wizard.cursor].question} 显示的是问题。

完成了这些需要提前进行的准备(比如服务器端 bean 和模板)后,我接下来将向您展示一些真正有趣的东西了:此向导的 Ajax 是如何实现的,以及此向导是如何使用 CDI 的。先从 Ajax 开始。

Ajax

此测验向导内的所有用户交互都会导致 Ajax 调用,当这些调用返回时,只呈现页面的适当部分。Ajax 调用所做的一件事情就是控制此向导按钮的启用状态。图 5 显示了在第一个

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号