JSF规范(四).doc

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JSF规范(四)

JSF规范(四) 本文是基于JSF规范的翻译而来,并省掉一些无关紧要的章节。如有不当之处请大家指正。 作者:youfly ? ?? email:seedcloned-pub@ /youfly 2.5 Concepts that impact several lifecycle phases 本章试图通过给读者提供一个影响“请求处理生命周期”各个阶段的一些复杂概念的 “big picture”视图。 2.5.1 Value Handling 在基本原理层面,JavaServer Faces提供了一个从用户那里获取数据并提供给模型层处理的一个途径。关于从用户到模型的值处理流在这份规范的其他地方描述,但是可以从这里得到一个整体的认识。下面的描述假定是JSP/HTTP的情形,并且所有的组件都拥有Renderers。 ? Apply Request Values Phase 当用户点击按钮并且引发提交,将发送name=value对形式的HTTP请求POST数据到服务器中。这就进入了JSF的“请求处理生命周期”,并且最终我们进入了Apply Request Values阶段。在这个阶段视图中的每个组件的每个Renderer上的decode()方法被调用。Renderer从请求中取出值,并将这些值传递给组件的setSubmittedValue()方法,当然,这些组件应该是EditableValueHolder的实例。如果组件的”immediate”属性被设置成true,我们在decoding后将立即执行验证。请阅读下面的内容以得到执行验证时所发生的事情。 ? Process Validators Phase 视图根的processValidators()方法被调用。对于视图中的每一个EditableValueHolder,要是”immediate”属性没有设置,我们将执行视图中的每一个UIInput的验证。否则,则表示验证已经被执行,这个阶段不需要作任何处理。 ? Executing Validation 请阅读javadoc文件当到UIInput.validate()方法更为详细的信息,但基本上,这个方法从组件中获取提交的值(在Apply Request Values期间被设置) ,取得组件的Renderer并调用它的getConvertedValue()方法,并传递到取的值给这个方法。如果发生数据转换错误,则按照这个getConvertedValue方法的javadoc文档描述进行处理。否则,所有和这个组件绑定的validators被请求来验证转换的值是否合法。如果发生验证错误,则按照Validator.validate()方法的javadoc描述进行处理。转换值通过组件的setValue()设置到组件中,如果值被改变,则触发ValueChangeEvent事件。 Update Model Values Phase 视图中的每一个UIInput组件,它们的updateModel方法被调用。这个方法只是在验证期间组件的本地值(Local value)被设置并且页面的作者配置了设置这个组件值到模型(Model)层的时候才有效。这个阶段只是简单的根据页面作者的配置将UIInput组件转换成功的本地值设置到模型(Model)中。在试图将值设置到模型(Model)层时所发生的任何错误都按照UIInput.updateModel()方法的javadoc文档描述来处理。 ? 2.5.2 Localization and Internationalization (L10N/I18N) JavaServer Faces被完全的国际化,JavaServer Faces提供的I18N能力是基于Servlet,JSP及JSTL规范提供的I18N概念。 I18N happens at several points in the request processing lifecycle, but it is easiest to explain what goes on by breaking the task down by function. Determining the active Locale JSF用活动Locale的概念来查找所有的本地化资源。转换器必须使用这个Locale来执行他们的转换。Locale保存在当FacesContext的UIViewRoot的locale JavaBeans属性中。应用开发者可以通过配置文件WEB-INF/faces-config.xml 来告诉JSF当前应用所支持的locales。例如: faces-config application locale-config default-localeen/

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档