第二章 JSF组件模型.ppt_第1页
第二章 JSF组件模型.ppt_第2页
第二章 JSF组件模型.ppt_第3页
第二章 JSF组件模型.ppt_第4页
第二章 JSF组件模型.ppt_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章 JSF组件模型,作者:何双江,引言,上次课介绍了JSF是以组件为中心的MVC框架,因此本章将介绍JSF的组件模型。 JSF中的组件我们既可以在JSP页面通过标签直接设计,也可以在程序中动态创建和使用。 JSF组件的页面标签包括两个部分一个核心标签和一个html页面标签 在程序中使用JSF组件,必须通过FaceContext对象获得UIRootView,然后获得其子对象或加入新的对象,然后由Render完成最终的渲染。,本章目标,了解WEB开发任务 UI组件模型 View视图顶层组件 SubView包含其他页面组件 组件的数值绑定 使用表格 使用布局 使用选择列表,了解WEB开发任务,U

2、I组件的状态 javax.faces.STATE_SAVING_METHOD client 标签以及Manage Bean的数据绑定 事件模型 事件绑定 类型转换 转换器Converter把参数串转换成Java制定类型 错误处理 输入数据验证Validator,模型的异常处理异常消息 国际化 绑定资源,JSF组件包,JSF 组件包,UI 组件类,事件和监听器模型,验证模型,转换模型,显示模型,UI 组件类,UIComponent,UIComponentBase,UICommand,UIInput,UIOutput,UIGraphic,UIMessage,UISelectOne,UISelect

3、Many,UIForm,UIPanel,ValueHolder,EditableValueHolder,ActionSource,StateHodler,UIViewRoot,UI组件模型,UI组件模型,View视图顶层组件,对于一个完整的页面,其顶层视图是View,我们可以在页面设计中使用标签来指明。 在JSF中顶层视图决定了如何来渲染其子组件,并提供了如下方法,来完成渲染, abstract public void encodeBegin(FaceContext) abstract public void encodeChildren(FaceContext) abstract publi

4、c void encodeEnd(FaceContext) 通常都是由JSF指定的渲染器来完成具体渲染工作,而目前我们使用的是HtmlRenderKit,SubView其他页面组件,在JSP中很多情况我们都可以通过标签来导入来自其他页面的内容,这是因为Web重定向完成的。 而在JSF中这种情况显得有些特别,因为即使重定向,但是所构成的组件树和渲染必须是一个整体的。 所以在整个容器中提供了来,完成重定向的生成组件树和渲染的能力。此时的渲染是先渲染组件部分,然后渲染其他字符 例: ,组件的数值绑定,UIComponet另外一个作用是和模型进行绑定,也就是通过模型保存其状态。 绑定表达式:#bean

5、.property expression 其绑定的bean要么是通过存放在范围内,要么是通过配置ManageBean完成 对于聚合对象,如果对象中所包含的聚集是一个有序的集合(如:数组,List,Map),我们可以通过索引的方式访问keypath 如:#pertieskey.value,输出组件,outputLabel for value outputFormat value outputText value,受管理的Bean,在JSP中我们习惯创建JavaBean的方式是使用标签 而在JSF中使用JavaBean一方面是配置 绑定Bean名称 类名 request,sessi

6、on,appliction,none 另一方面是我们在页面绑定数值的时候就把页面视图和JavaBean对象绑定到一起,这在表单操作是一种鼓励的方式。,使用表单,JSF框架中另一类容器是表单,对于表单可以用来响应用户输入的数据请求,当提交表单的时候也将响应事件以及导航。可以说表单是UI组件的交换部分。 JSF中表单的作用主要有两个: 绑定JavaBean,并调用Property的getter和setter 提交并处理用户请求,也就是绑定事件处理 JSF中表单的标签为,简单事件处理,事件的处理是由UICommand进行提交的并由其action属性完成对事件的绑定 其事件的执行是在Invoke Ap

7、plication过程中进行的,通过默认的ActionListener调用processAction方法并传递ActionEvent,并由响应的Source应用获得其方法的调用执行(下章将详细介绍) h:commandButton h:commandLink h:outputLink, ,单值文本输入,h:inputText h:inputSecret h:inputTextarea,使用表格,绑定集合数据 value 要绑定的JavaBean集合 var 迭代变量 定制表头和页脚 表格对象的分页属性 first 首记录从什么时候开始 rows 一页显示几条记录,使用布局,标签主要用于动态生成

8、数据绑定表格,而对于页面布局在html中通常也通过表格进行,在JSF框架中提供了标签提供页面组件布局。 提供了columns属性用于生成指定列数,把组件加入到指定列中;其基本添加方法是从左到右的添加过程。,使用选择列表, 独立选择框 多选框 单选框 单选列表 多选列表 单选下拉列表 长度为1多选列表,选择标签使用示例,联系我 ,private boolean contactMe; public void setContactMe(boolean newValue) contactMe = newValue; public boolean getContactMe() return contac

9、tMe; , , ,private SelectItem grades = new SelectItem(new Integer(1), 高中), new SelectItem(new Integer(2), 专科), new SelectItem(new Integer(3), 本科), new SelectItem(new Integer(4), 硕士), new SelectItem(new Integer(5), 博士) ; public SelectItem getGrades () return grades; , , ,演示:示例2,使用集合绑定选择,在核心标签库f中还提供了一个

10、标签用于把集合对象绑定到选择框, 该标签的value属性用于绑定这个集合 对于集合中的元素是SelectItem的实例,该类在javax.faces.model包中,该类常用的构造函数: SelectItem(java.lang.Objectvalue, java.lang.Stringlabel),本章小结,本章介绍了JSF框架中最为重要的UI组件部分,JSF通过服务端标签在JSP中集成UI组件并渲染到客户端显示,在服务器的JavaBean组件中则可以通过编程的方式处理UI组件 所有的UI组件都是从UIComponet类派生的子类 JSP中的组件树的根是UIViewRoot类的实例,对于include重定向时需要构建组件树则需要UISubView类来辅助构建组件树 和用户交互的组要是表单form,每次用户提交表单的时候都会执行相应的JavaBean模型,在JSF中通常由Manage Bean来负责 UI组件主要分为5类 输出 outputText outputL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论