Java框架学习感想——版本差异害死人

版本差异害死人。
说实话,有时怀念用MS的编程环境,都是人家制定好的,不用东那么多脑子选择用什么编程环境、用什么语言、用什么技术等等。
而入了JAVA的伙,学习J2EE,那么多的开源框架,选择就要花费很大的工夫,因为选错了以后修改起来成本可就大了。关键是框架曾出不穷,都宣传自己多么先进,哎,绝对眼花缭乱。而即使选定了框架,如果遇到版本升级,那也有可能是天翻地覆的变化,设让人家是开源的,变化从来多讲究设计精良,并不考虑那么多升级成本问题。
经常面对要学习的新框架、新技术,对于程序员来说是个挑战,很累,但是保持了你的先进性,并且多动脑子还是有益的。而版本变化,只能说学习成本好高,但是选择了Java和开源你就要接受这种高学习成本,有什么办法呢。
我只是发发牢骚,书还是要看的,UML、Paterns、Hibernate、Spring这些都是要抽时间好好看看的,这里结绳记事。
今天好不容易把上次那个Spring step by step搞定了,一直调不通的JSTL的问题原来还是个版本问题。
报错如下:
org.apache.jasper.JasperException: /jsp/hello.jsp(9,34) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
意思是找不到对应的属性,属性不接受表达式。
1.1的URI是<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
1.0的URI是<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
而1.0的版本不支持表达式,所以要用1.1的,而如果又正巧用了1.0的声明,那就会遇到与我一样的问题。
所以,记住修改URI为http://java.sun.com/jsp/jstl/core就好了。
版本差异,呵呵,J2SE1.4&J2SE1.5、Struts 1.1&1.2、Spring 1.1&1.2、Hibernate 2&3、Tapestry 3&4,太多了……
这是常见的对比的冤家:Linux v.s Windows 、 Java v.s .NET 、 OpenOffice.org v.s Microsoft Office System 、 PS2 v.s XBox 、 Palm v.s Windows CE 、 Symbian v.s Microsoft Smart Phone……

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.