最近一段时间一直在听张孝祥老师的struts视频,虽然struts1的学习已经过了一段时间,之前也浅显的谈到了struts的一些皮毛,但是这次静下心来听了听张孝祥老师的09年新的struts视频,真的受益匪浅,至少这是我目前听过的struts1讲的最深最透彻的一个视频,听张老师的视频不仅是简简单单学习知识本身,他每次都会用实际生活我们碰到的一个问题,然后如何解决,说句实在话,由于之前一直对struts1存在偏见,一直认为这个框架不是什么了不起的框架,觉得他没有spring和hibernate那么光芒四射,起码之前我是没有体会到他的任何好处,除了在国际化以及上传和回显上面有那么一点点优势外,其余的我真的觉得不是特别理想,最关键觉得其在解耦方面做得十分欠缺,所以一直没有很深入去研究他的种种特性,但是这次通过看张老师的视频,真的对这个框架有了新的认识,连续两天一直扑在电脑前,第一次觉得看视频原来是这么爽的一件事情,而且通过视频学习,不仅是知识本身,关键是一种学习方法,我真正体会了授之以鱼,不如授之以渔的深刻含义,我只想说张老师真的是一个非常优秀的老师,希望有一天中国计算机教育界的各位大师们应该都和张老师一样,有这种奉献精神,执着精神,以及钻研精神,我想中国软件崛起应该不是一件难事了。
struts标签这块其实一直是很多struts初学者很头痛的一件事情,那么多属性,每个属性设置有不同含义,所以每次用struts标签真的是一件很懊恼的事情,有的甚至谈struts标签色变。今天和大家分享一点我的学习方法吧。
今天以<html:optionsCollection>为例和大家谈谈吧。
为了搞清楚<html:optionsCollection>这个标签是做什么的,看到这个标签,我们自然想到html中的select的子选项option,有了这个猜测,我们可以去看看文档,证实一下我们的猜测,其实最好的学习资料就是文档了,从文档我们可以得知,他提供了一套HTML<option>元素,他可以代表select可能的选择项,他可以在<html:select> 中使用多次,也可以被多个<html:option> 或<html:options>代替。这个标签操作一个集合bean,这个bean有一个label属性和一个value属性。然后知道这些,我们可以想象,居然它就是实现下拉选框的选项,那么要想实现这个标签,我们必须知道的就是这个子选项的value属性,以及它所显示的值是多少,一个是在页面显示的,一个是我们内部获取的时候它的value的值,然后我们再去查看他的文档,这个集合bean是哪个,参看他的属性,我们发现了value,name以及label属性,其中name代表就是哪个集合,value对应就是html中option的value,而label就是页面要显示的值。同时我们又看到了一个property属性,结合其他标签,我们可能猜到了他可能是用来映射对象属性的属性的,然后参看文档,我们知道当name指定是一个集合属性名字的时候,那么property的值即为哪个集合。最后我们将我们的猜测进行一系列实验,然后这个标签我想应该就算学完了。
从上面整个过程,我想大家应该都和我一样,明白了一个道理,那就是每一个标签我们并不需要记住所有属性真正的用法,我们可以根据一些经验以及一些记忆大致猜测一下这个标签是做什么的,然后他能实现什么样效果,具体用的时候,我们根据自己的猜测一步步查文档就可以了,毕竟我们都是常人,能够将所有标签以及属性用法都能记住的话,我想他不应该来做技术,应该去当律师也许更有发展,没有别的意思,只是觉得如果编程成为了一种纯记忆的东西,我想软件的发展可能没有太大希望了。
从这段时间以来,不断去复习老师以前的知识,一遍遍听视频,突然觉得学习真的应该是一件快乐的事情,是应该有所求再去索取,而不是单纯的生硬的记下所有的知识点,然后到用的时候生搬硬抄,稍微有点变化就手忙脚乱,这里指的就是以前那个我,每次把老师的代码一遍遍写,然后把知识点一遍遍看,最后到项目实战发现自己好像什么都不会了,很吃亏,不过,我相信现在的醒悟应该不会太晚,也希望能够给那些刚开始踏入这个行业的一些朋友们一点提示吧。