JSF详解_.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JSF详解_

1.?? a)??????? 结构图: ???? b)??????? 说明:JSF以MVC模式为基础,与Struts不同,JSF的目标是希望以一个与Swing相类似的方式来开发网页,因此,从JSF的结构图当中,他的核心概念不是页面,而是控件树,也就是说,当用户提交一个请求时,JSF会先将页面上的组件先转换为与Swing当中类似的,由容器和控件组成的控件树,然后数据和事件被设置到对应的控件上,然后以一种与Swing类似的方式,来处理后续的请求。控件树是整个JSF的核心,所有其他的一切一切都是围绕着这棵控件树展开的。 ? ?2.?? a)??????? 周期图: ??? ??? b)??????? 说明: ????????????????????? i.????????????? Restore View:JSF的处理核心是控件树,他会先将页面上所声明的控件转换为一棵控件树,后续的操作将在这颗控件树上进行。为了提高性能,系统会为之前生成的控件树提供缓存。Restore View的工作就是在缓存当中查找是否存在之前已经生成好的控件树,如果没有,则根据页面的内容,重新生成。 ?????????????????? ii.????????????? Apply Request Values:把请求当中的数据设置到控件树当中对应的控件当中去。 ??????????????? iii.????????????? Process Validations:如果某一控件有配置Validator,则这些Validator将对刚设置的数据的正确性和合法性进行验证。 ?????????????????? iv.????????????? Update Model Values:控件树上的控件更新其底层所对应的模型。 ????????????????????? v.????????????? Invoke Application:对产生的事件进行分发。 ?????????????????? vi.????????????? Render Response:构建作为响应的控件树。 ? 3.?? UI a)??????? 结构图: b)??????? 控件: ????????????????????? i.????????????? 说明:JSF通过标签库,提供了一些主要控件的实现。包括标签,文本框,单选框,列表等。由于JSF使用一种类似于UI的方式来组织组件,所以,除了基本的组件以外,还提供了一些用于布局的容器,例如面板等。在这里有一个要注意的地方就是,一般情况下,页面的内容应该放到JSF提供的view标签里面。 ?????????????????? ii.????????????? 代码: %@page contentType=text/html;charset=gb2312% %@ taglib uri=/jsf/core prefix=f% %@ taglib uri=/jsf/html prefix=h% html headtitleTest/title/head body f:view h:form h:panelGrid columns=1 h:outputLabel h:outputText value=User ID/ /h:outputLabel /h:panelGrid /h:form /f:view /body /html ?c)??????? 事件处理: ????????????????????? i.????????????? 说明:与Struts不同,由于JSF使用以控件树为中心的方式来处理请求,所以,她提供了一种额外的类似Swing的,事件处理的方式来处理用户的输入事件。JSF提供了两种事件类型,ActionEvent,用于处理命令和ValueChangeEvent,用于处理数据更改。 ?????????????????? ii.????????????? 代码: 模型代码: package nick; public class UserActionListener implements ActionListener { public void processAction(ActionEvent arg0) throws AbortProcessingException { FacesContext context = FacesContext.getCurrentInstance(); ValueBinding binding = Util.getValueBinding(#{user}); User user = (User

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档