Freemarker的模板功能非常强大,能够实现很多不错的效果,当然其实变相成为另外一种JSP语言,当然上手Freemarker还是非常容易的。
OSPod.Forum就是使用Freemarker的模板技术作为页面实现,从而降低重构模板或者制作新模板的难度。
Freemarker虽然模板能力非常强大,但是也不是十全十美,代码也有不少Bug,在这儿就不谈Freemarker的使用问题,仅仅说一下文件的编码问题。
Forum前期是在Window上进行开发的,因此文件编码的存储是使用ANSI格式进行存储,这就导致在Linux下需要明确告诉InputStreamReader流,读取时需要使用“GBK”编码方式读取,而在Window下就不需要使用,很麻烦,导致在不同的操作系统上需要进行不同的配置。
因此决定将模板文件修改为“UTF-8”的编码存储。
将文件转存为UTF-8时需要主要,不要保存“BOM header”,Freemarker在生成文件时不处理它,会导致Firefox浏览没有问题,而IE浏览有问题。需要使用UltraEdit来转存文件格式(UTF-8-NO BOM)。