摘要: JSF中默认并没有提供客户端验证机制,这就需要使用其他的方法来验证,Shale已经为我们做好了,通过封装commonsValidator,实现了非常方便易用的客户端验证。
阅读全文
posted @
2006-01-05 09:25 steady 阅读(4544) |
评论 (7) |
编辑 收藏
摘要: 前面一篇直接使用了Myfaces中的两个Component完成了一个简单的分页,这里将会介绍一种On-demand loading的方法来进行分页,仅仅在需要数据的时候加载。
阅读全文
posted @
2005-12-30 10:30 steady 阅读(14999) |
评论 (21) |
编辑 收藏
摘要: 对于大多数Web应用,分页都是必不可少的功能,当然在JSF中也一样,我在这里用两篇文章介绍两种方法来展示一下,如何在JSF中实现分页。
阅读全文
posted @
2005-12-29 20:55 steady 阅读(12448) |
评论 (2) |
编辑 收藏
摘要: 最近一直在用JSF,遇到了一些很奇怪的事情,昨天花了点时间仔细分析了一下,找到了一个主要问题,就是JSF和JSTL之间的互操作存在着兼容性问题。
阅读全文
posted @
2005-12-15 15:35 steady 阅读(4047) |
评论 (0) |
编辑 收藏
有一个多月都没有找到太多写程序的感觉了,虽然对Java的热情依旧,却总是找不到什么特别令人兴奋的东西,也许是因为最近涉及的新技术太广了吧,同时在做JSF、Spring、Hibernate三项技术,这都是过去不曾接触过的,虽然进展还算不错,但不时的会在不同的问题上卡壳,然后会花很多时间去找解决方法,如此反复,再好的感觉都被消磨殆尽了,或许这正是造成效率差的原因吧,查了一下最近的Log,效率很少能达到80%,再高就更没有了,完全没有两个月前但哪种感觉了。当时会有比较高的效率是因为流畅的思路,加上对问题的领域比较熟悉,所以会很少碰到大的卡壳的问题,这样心情也会好很多,能够一蹴而就的去把问题解决。
同时想想看公司里做软件的经验也是,几乎不会在一个新项目里全面的去使用一系列的新技术,因为对这些技术的不确定因素,会让项目整体的不确定因素变的比较大,如果协调不好的话可能会导致整体的崩盘,所以在新的项目中通常是每次使用一种新技术替换原有的,其它继续使用原有的技术,并且在项目中积累使用这种技术的经验,通过这样的不断累积,变的对这种技术比较熟悉,这些积累再应用到新到项目中,会让不确定因素会变的比较小一点,也比较容易保证软件开发的成功。试想如果全面使用新技术的话,如果在几个问题上卡壳了,或者有这种技术无法满足到需求,可能会有比较严重的后果。
技术是需要经过一段时间的沉淀才会被广泛使用的,无数的开源框架应证这这点,像spring,hibernate被广泛的使用并不是在它们刚推出的时候,而是在不断的应用中改进,并且逐步成熟的时候。现在炒的正火的Ajax,Ruby on Rails等技术并没有大范围的使用,也是这种原因了,虽然它们都很吸引人,但是并没有多少经验表明这些技术会引发多少的不确定因素,大家都在等啊,等啊,等到有人用实践告诉我们准确答案的时候,才会是它们真正被大家接受的时候。
posted @
2005-12-08 12:34 steady 阅读(921) |
评论 (1) |
编辑 收藏
昨天去逛了一下书市,当然也淘了几本书回来,包括了一本《J2EE核心模式 2nd》,它的原版是一流棒的好书,有着Martin Fowler, Grady Booch为之写的序,有着无数的赞誉。且不从书的翻译质量上来说(当然对熊节这样优秀的译者我还是很有信心的),它的纸张就已经让我觉得很不爽了,摸起来手感和草纸没有两样,虽然为了学习,不得不买下它,但是还是感觉窝了一肚子火。
随便翻了几本我桌上摆着的机械工业出版社的书,除了《Effective Java》还算凑合着,其它书的纸张都是很垃圾很垃圾的,纸张很垃圾,但是价格却不垃圾,完全不比任何同级别的书要便宜,完全出于一种唯利是图,一种对读者不负责任的态度,对于这样的出版社我们需要再用什么语言再去说它呢?
同样看看一些其它出版社的书,至少我手头上目前还没有看到纸张有这么差的,我最近买了不少电子工业出版社的书,主要都是博文视点的,不光出于学习技术的需要,更是喜欢纸张光滑的手感,笔写在上面会感觉很爽。我手头上也有几本国外原版的书籍,纸张质量是国内出版社远不能及的,一本《Java2 The Complete Reference》,和《Java与模式》页数相当,却要厚了三分之一。听说最近东南大学出版社引进了一批O'Reilly的影印版书籍,虽然我没有看过,却在书评中听到了一些赞誉之词,虽然价格比较高,但是纸张却很好,给人一种舒服的感觉。去年的时候,看到有人买了本清华版的影印书,纸张也是差的没话说,虽然清华的影印版书籍的纸张并不一贯如此,但这本书却足以让我的印象分大打折扣。
网上书店能经常看到对书籍翻译质量的评价,有的会把翻译版的书骂的一文不值,如果这本书真的是找了个外行来翻译的话,倒也骂的应当,骂的正确。如果是外行,本来就不应该来翻译专业的计算机书籍,可以想像把很多专业术语当成通用语来翻会是如何的搞笑。当然我也会骂那些不负责任的译者,这种人当骂,该骂。但是有些发表评论的人就像疯狗一样,见人就骂,见书就骂,只要是中文的书,如果是国人编写的,就骂编的烂,如果是翻译的,就骂译的烂,一律说国外的某某某书好,这样的人,这样的骂法,是有大脑,有逻辑判断力的人说出来的吗?首先,翻译书籍就是为了解决国内大部分英文不好人的需求的,这些译者是把国外的先进技术传播到国内的先驱者,他们的精神是值得我们赞美的,虽然翻译的时候不免会有一些理解和原著产生了偏差,这也是可以理解的,就像国外出的书,有的时候也会有很多的勘误,错误是不可避免的,如果有错误就骂人家翻译的不好,可以说骂的人本身就是有问题的。让大家都去看原版的,这本来也不现实的,不是每一个人都能够看的很明白,理解的很清楚,能完全看懂英文书的人毕竟是少数,就是那些建议大家去看英文书的人自己也未必能够“看懂”吧。
posted @
2005-12-04 13:06 steady 阅读(1098) |
评论 (2) |
编辑 收藏
摘要: 通过一次小小的实践,终于了解如何使用tomahawk中的tree2这个组件了,并且写了小段程序,从xml中读取树的结构,生成一个tree,不过tree2不能直接和xml绑定是一个遗憾,那样就会省不少事情了。记下一点心得,以供后来参考了。
阅读全文
posted @
2005-12-01 09:26 steady 阅读(10299) |
评论 (32) |
编辑 收藏
今天一天几乎都是在与数据库打交道,碰到过去从未想过也不曾碰到过的问题,也让我对数据库有了一些新的认识,新的感受,主要是两个方面,一个是ORDER BY,一个是Batch。
情景一:有两张表,一张有100万条记录,另一张有300万条记录。
最初的SQL是连接两张表,并对其中一个表的非索引字段排序,并取出几千条的数据,花费了很长的时间,最终分析得出,大部分时间花在排序上。后来去掉了ORDER BY并使用客户端的Utils方法对已经取出的数据进行排序,查询速度大大优化。
情景二:对取出的结果进行一定的处理,并更新其中一张表。
最初的办法是处理一个更新一个,效率很低,最后和老员工交流经验得到真传,于是决定使用Batch来批量更新数据库,效率极大的提高,有一个数量级,但是因为我本地客户端没有装DB2的升级补丁,无法在客户端更新,在服务器上更新成功。
总结,数据库的访问效率应该是这类系统最主要的瓶颈,多花点时间放在查询语句和查询策略上,有时候效率提高会很大。
posted @
2005-11-28 17:24 steady 阅读(461) |
评论 (0) |
编辑 收藏
WSAD出现了一个奇怪的问题,build项目的时候总失败,最后把Windows的区域设置设成En(US)就好了,弄了一天没有搞定,郁闷,重新build一下项目,半个小时。
posted @
2005-11-24 20:01 steady 阅读(304) |
评论 (0) |
编辑 收藏
花了一个多礼拜的时间狂啃了一下JSF,完成了一个不大不小的training,其实只算是一个share了,把我学到的JSF基础知识和这段时间的一些心得拿出来和大家分享。之前的晚上倒是紧张了一晚上没有休息好,准备了一堆可以用的台词,准备了一堆可以扩展的内容,不过好多都没有真正的用到,进度比我想像的要慢一些,只是花时间讲了一下最基础的概念:managed-bean, navigation, event, converter, validator等等了,然后做了一个事先准备好的例子,不过大家基本上都建立出了第一个JSF的应用程序,算是顺利但不很圆满的完成了任务,本来准备进一步说明的自定义JSF组件之类的就没有时间了,算是小小的遗憾吧。
昨天一天的时间把我上周的任务收尾,修正了一些 bug,加上了一些log信息,完成了文档,于是便可以进行我新的学习了,主要还是Rod Johnson那本without EJB,其实大师的书已经仰慕很久了,应该说是从实际解决项目问题的角度来看J2EE,毕竟Java语言,J2EE这样的东西都太多的一些学院派的味道,经常把一些本来可以简单的问题弄的很复杂,用公司早期用的框架,有太多的重复代码,很多烦琐的配置,和一些莫名其妙的奇怪问题,但是用spring,hibernate这些从实践中得来的东西,确实会感觉到爽,因为它们真的很好用。
posted @
2005-11-24 09:18 steady 阅读(574) |
评论 (0) |
编辑 收藏
一周多一点的时间,把Mastering JSF啃下来了,虽说很多细节没有照顾到,但是还是有了一个整体的感觉,这是我学的第二个MVC框架,终于可以把过去学struts的东西拿来比较了,看了jdon网站上那篇流传甚广的那篇比较两者的文章,似乎一下明白了很多,也似乎并没有明白,因为它们很多地方真的太像了,像的看很多东西都有种似曾相识的感觉,这样在一定程度上减小了从struts到JSF的难度。很ASP.NET不同的是,JSF的Component是直接和JavaBean绑定的,最终直接是从JavaBean中取数据,而ASP.NET却是直接用Component的属性取数据,设计上来说,JSF这样做更优雅一些,但ASP.NET这样做似乎减小了一些入门者的进入难度,各自的设计哲学并不相同,并没有明显的好坏之分。只是JSF的发展时间太短,它还不成熟。
JSF的验证方式我也很喜欢,一个Component挂一个Validator。相比较过去在struts下使用Validator框架配置验证来说,结构要清楚的多。
posted @
2005-11-21 19:02 steady 阅读(868) |
评论 (2) |
编辑 收藏
摘要: 这几天一直在用myfaces,遇到一个问题,使用inputDate 和 tree2 这样的组件的时候,当开启了一些和JavaScript相关的选项时,总是会提示JavaScript错误,但是却总是找不到这些JavaScript在哪里,很纳闷,昨天为了查找 tree2 的用法在网上寻觅,在 JBoss 的论坛看到了相关的问题,其实这个问题在 myfaces 的官方网站上已经有明确的说明了
阅读全文
posted @
2005-11-17 08:34 steady 阅读(1939) |
评论 (1) |
编辑 收藏
看到最近Borland连续亏损两季度的消息,突然变得有些怀念起这个曾经几度大起大落的Borland。
有人把Borland亏损的原因归咎为eclipse基金会的兴起,几年前作为eclipse前身的IBM Visual Age for Java在Java IDE市场被Borland打的大败,而Borland也自然的成为了Java IDE市场的霸主,其JBuilder产品一直是国内Java IDE市场的主流,但这两年,Borland的表现却变的出人意料的差,Borland再次的酝酿变革?记得上次大的变动是JBuilder2.5-3的时代,Borland将其JBuilder完全Java化,创造了Java IDE的新时代,同时也在其半年一套新产品的速度的打压下,IBM被拖垮了,其它的一些厂商也被拖垮了,但这却并没有表示Borland能够在这个霸主的位置上一直做下去,IBM又组成了Eclipse军团,带了大队的人马再度杀来,推广的是一个完全不同意义的新的IDE,甚至可以说,这不仅仅是一个IDE了,这是一个平台,一个新时代。同时IDE市场又闯入了许多不速之客, 2005年的Jolt中,IntelliJ IDEA拿到了最佳生产力奖,Eclipse也获得了Languages and Development Environments大奖,Borland却榜上无名,似乎Borland在IDE市场再也不是从前的Borland了,似乎已经平息的IDE大战再度爆发,领军的是Eclipse,同时也出来了无数不同的Java IDE,BEA Weblogic Workshop, Sun Netbeans, Oracle JDeveloper, IntelliJ IDEA后面还有很多很多。BEA宣布了其新版Workshop将基于Eclipse,Borland的新产品也会是基于Eclipse的,将会在明年推出,IDE市场似乎再次被统一,没有统一的只是各个公司独有的领域,开发过程,生命周期管理,数据库系统结合,等等。
不希望Borland倒下去,经历几度波折的Borland会再度站起来,站在新的起跑线,给大家一份新的惊喜,让我们拭目以待吧。
posted @
2005-11-16 09:25 steady 阅读(951) |
评论 (2) |
编辑 收藏
正式开始做JSF了,这下算是把Web Tier以下的框架搭起来了,用的是JSF + spring + hibernate的三层架构,虽然中间碰到一堆很奇怪的问题,大部分集中在配置文件上,第一个错误在hibernate中发生,把主键类型配置成“uuid.string”,怎么都跑不过去,最后改成“uuid”解决问题。第二个错误发生在spring的配置中,三个bean,第二个引用了第一个,第三个引用了前两个,结果第三个出错,最后发现,第三个只要引用第二个就可以了,第二个也会自动的去引用第一个。
JSF提交表单已经完成,这方面比较容易,也是被几乎所有例程第一个拿出来说的,不过在处理列表的时候出现了点问题,过去struts中是先从一个.do进入读取数据后转向页面,这时候列表就拿到了数据,但JSF中不太清楚,最后有些奇怪的想法算是把解决了,DataTable对应了一个property,有get方法,我在get方法中调用中间层的service去取数据,拿到一个List,由DataTable将其展开。
posted @
2005-11-10 09:01 steady 阅读(663) |
评论 (0) |
编辑 收藏
在新的组里做了半个多月,一直风平浪静,没有什么事情,昨天开会时接到新的任务是要开始研究JSF了,公司最新一个巨型项目采用了JSF作为Web Tier,我以后的任务会是辅助开发基于JSF的Framework,以满足未来的项目开发的需要。现在所在的项目做了快三年了,当时采用的Web Tier是struts,在当时也算是很新的了,三年后,当国内还很难找到有多少JSF成功案例的情况下,我们开始进入JSF时代,虽然说现在的JSF还并不是很成熟,而且可用的资料也比较的少,这时候技术转型有一定的风险和难度,但毕竟JSF已经成为Java EE 5的标准,作为可以对抗ASP.NET的组件级Web Framework,JSF未来会有很大的发展的,也期待着有更多的JSF Implement能够出现,毕竟Java本身就是面向开源的。
posted @
2005-11-08 16:45 steady 阅读(575) |
评论 (0) |
编辑 收藏