FreeMarker_缺陷

缺陷一:freemarker的变量必须有值,没有被赋值的变量就会抛出异常。 
freemarker的FAQ上面冠冕堂皇的说,未赋值的变量强制抛错可以杜绝很多潜在的错误,如缺失潜在的变量命名,或者其他变量错误。但是实际的效果是:带来的是非常大的编程麻烦,程序里面几乎所有可能出现空值的变量统统需要加上${xxx?if_exists},有些循环条件还需要写if判断,这样不但没有杜绝应该杜绝的错误,反而极大增加了编程的麻烦。 

缺陷二:freemarker的map限定key必须是string,其他数据类型竟然无法操作。 

缺陷三:freemarker为了编程方便把不可序列化的东西往session里面放。
freemarker支持在页面里面直接操作Session,request等,例如${Session[...]},方便确实很方便,但是一旦需要做群集,就会报错。

相关推荐