- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ManagedBeans.ppt
注意 本文原著来源自 /JSF-Tutorial/ 本文将原著译成中文,但受限于译者水平,难免会有个别差错 文章中的一些观点,译者并不全部赞同,但尽可能忠于原貌,并且将译者的一些不同观点以批注的形式放在文章中 本文介绍的所有内容,基本上是 JSF 标准知识,以使本文成为 JSF 入门教程 原文在MyFaces/Sun RI上的示例,在本文中会将其移植在 Apusic OperaMasks 之上,从而使读者了解 Apusic OperaMasks 如何使用 如果您想与本文作者联系,请mail至:operamasks(AT) 页面导航 什么是 Java Bean 在JSF中使用 Managed Bean 示例 使用JSP EL 表达式 AOM扩展 总结 什么是Java Bean? Java Bean:遵循下述约定的普通Java类 必须要有一个无参数的构造函数 你可以显式声明一个这样的构造函数,或者什么构造函数也不写(默认会有一个无参数的构造函数) 不能够有public的对象字段 希望你能够一直遵循这样一种规范:永远不要直接访问对象的字段,而应该通过它的getter/settter方法进行 能够被持久的属性应该提供getXxx和setXxx等方法 如果一个类有getTitle的方法,那就是说它有一个名称为 title 的属性 Boolean类型的属性使用isXxx方法代替getXxx方法 与Struts不同的是,JSF中的Managed Bean 不需要继承自任何指定基类 在JSF术语中,有时会把 Managed Bean称之为”后台Bean“ Managed Bean通常承担这样一些职能:获取form中的参数,指定action方法,事件绑定,显示结果数据等 为什么你不应该直接访问Bean的字段? 对于一个Java Bean来说,你不应该将它的 field 以 public 形式暴露 因此,下述代码: 应该替换成: 你应该一直这样做,这样的好处是什么呢? 不直接访问Bean属性的好处: 这样做的好处一:你可以对field的值加以约束 如果你允许用户直接访问public的字段,那就意味着,每个用户在操作此字段时,都需要对其值进行检查 不直接访问Bean属性的好处: 这样做的好处二:你可以更改内部实现,而不需要更改任何外部接口 如果你允许用户直接访问public的字段,那就意味着,每个用户在操作此字段时,都需要对其值进行检查 Beans 应该实现序列化接口 一些服务器支持分布式的web应用 负载均衡器负责将不同的请求转发给不同的机器,当某台机器垮掉时,用户Session应该继续保留并一直能够工作 一些服务器支持session的持久化 一些Session数据能够被存储到硬盘中,当服务器重启时,能够重新加载这些Session 为支持上述两点,Managed Bean应该具备Session级别的生命周期,并应该实现java.io.Serializable接口 页面导航 什么是 Java Bean 在JSF中使用 Managed Bean 示例 使用JSP EL 表达式 AOM扩展 总结 JSF执行流程 JSF执行流程 form的展现 通过 f:view 与 h:form 展现一个form Bean被初始化(注) 。如果它的getter方法不返回null,那么与该属性绑定的控件则进行数据填充,其值来源自Bean的getter方法 form被提交给自己 访问此 Form 的 URL 与 From 的 Action 指定的URL是同一个 一个 Managed Bean 被实例化(注) 在 faces-config.xml中定义的 Managed Bean 被实例化 将控件的值取出,并调用Bean的setter方法 Action所指定的方法被调用 在 h:commandButton 中的action属性所指代的方法被调用 Action所对应的方法返回一个字符串型结果 该字符串会与 faces-config.xml 中的导航规则进行匹配 结果页面被显示 该页面通过 h:outputText 诸如此类的控件将Bean的属性值显示出来 注:此处的Bean被实例化,是假设Bean的生命周期为Request 步骤 创建一个Managed Bean 设置该Managed Bean与form中的数据进行对应的属性 定义 Action 方法 准备初始数据 创建一个输入 form 其中的field值对应Managed Bean的属性 Button指定导航条件,或者指定一个Action方法,并通过此方法返回导航条件 编辑faces-config.xml 声明该Managed Bean 指定导航规则 创建结果页面 通过 h
文档评论(0)