阳光VIP

少壮不努力,老大徒伤悲。平日弗用功,自到临期悔。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

10月28日appfuse培训日记

Posted on 2006-10-29 21:37  阳光VIP  阅读(113)  评论(0编辑  收藏  举报

今天是梁言兵老师讲解Appfuse这个整合了spring,hibernate,spring mvc,velocity,sitemesh,ajax多个框架的开源项目,梁言兵老师是学员们心中的偶像和大牛人,虽然以前有些地方听不懂,但大家对他崇拜极了,呵呵!

他首先讲解了上次没讲完的AjaxTable这个项目中的一些细节,然后就开始了Appfuse的讲解,梁老师主要是带着大家把Appfuse的实现细节和代码走一遍,他今天的课讲得很好,看来他已经找到了给与他完全不在一个档次的学员讲课的感觉了。


完善了AjaxTable的更多功能。带领大家分析了Appfuse的源码,其中接触的新知识包括:Sitemesh,spring的<bean>元素的parent属性。

可以把resource目录加入到eclipse的build的源目录中,这样,它里面的资源文件就会被直接拷贝到编译的结果classpath目录下。
messageResource可以设置一个basenames属性来设置多个资源文件,每个文件之间用逗号分隔。
讲解spring的return modelView时,用原始的request.setAttribute和RequestDispatcher.forward实现一下同样功能,这样学员们就很容易知道ModelView的工作原理了。

让displayTag显示中文信息,从jar包中提取出displayTag.properties文件,然后照写一个displayTag_zh_CN.properties文件即可,写成中文以后,再用native2Asii进行转换,梁老师用的eclipse好像自带这种转换功能,不知道是他的那个wst插件的功劳,还是eclipse自带的功能。
传递给buffalo的请求方法的参数可以是一个自定义对象(用formToBean创建对象,然后传递给remoteCall方法),方法返回的结果也可以是一个自定义对象。

在myeclipse下可以保存jsp时可以自动完成发布。
分页不是用setFetchSize,而是用setMaxResults。

我个人想琢磨的一个细节:
TransactionManager在底层是如何起作用的,不考虑调用JTA的情况,我想它一定应该与Connection形成关联,而Session也是与Connection关联,这个安排一些基础的学员看看相关的hibernate与ibatis的源码。