2006-6-27 日记JSF第一次课

来源:互联网 发布:mac选择目标白点 编辑:程序博客网 时间:2024/05/16 11:11

   今天上了JSF的第一章,感觉一切都比较顺利。因为在这之前的备课是十分充分的,当然这要感谢武汉博文的佘广,是他给我送来了《Mastering Java Server Faces 中文版》的参考书。不过看完了这本书后我的感觉并不是十分好,因为书的安排上有点略显凌乱,可能是两位作者都是经验丰富的架构设计师,而缺乏对书籍知识的由浅入深的归纳能力吧。另外书中有不少错误,比方大小写,方法名也许是审议错误或印刷错误吧。但总体来说书的理论部分是比较不错的,只是缺乏合理的实例代码所以在阅读此书的时候,我的工作量一下子变得很大了,因为实例代码和为了说明部分我花了很长时间来完成不过这倒是帮我更好的理解JSF框架

    今天首先介绍的是JSF是以UI组件为中心的MVC设计,并且区分了Struts是以页面为中心的设计,在这一点上我拿Swing举了对比例子,并取得了学生们的认同;紧接着我就开始介绍基于Java的MVC 并给出了下图:

通过这张图,也说明了JSF编程中要用到的组件,和开发人员的任务,在这张图中我着重讨论了Componet Tree,因为这是JSF的关键,整个请求和回复都会把数据传递Componet Tree中并绑定调用ManageBean。为此我还介绍了Composite设计模式,来说明JSF UI组件之间的关系。在这个部分的说明很多学生开始觉得有些难以理解了,不过幸运的是他们大多都接触过ASP.NET 所以我就那ASP.NET类比了一下,并说明了生成Componet Tree的好处可以帮助编程期间获得值是针对UI组件,而不是向Struts 那样针对整个页面通过一个ActionForm来传递页面值。另一个好处是可以通过UI组件来表明事件是来自那一个组件。经过这一段说明和在白板上的绘图,他们开始有了初步的认识了,当然我对我自己的绘图能力是很自信的。

   之后的课中,我当堂举了一个例子来说明如何通过JSF来编写WEB应用程序,当然第一个例子我用了习惯Hello World的实例代码。为了让学生们印象深刻我依然采取现场代码演示的方式,在一边写程序过程中一边向学生们说明代码的意义和运行过程中的控制和管理,基本他们也开始能够上手了。

   总体来说今天的课是十分顺利的,其实开始还有些害怕学生们从Struts框架转变到JSF框架可能会存在不适合的情况,不过幸运的是他们之前接触过Swing和ASP.NET的一些组件模型。