Velocity #parse utf-8 多一行空格的问题

来源:互联网 发布:linux搜索所有文件 编辑:程序博客网 时间:2024/05/21 22:22

昨天做项目的时候,把 #parse 的子文件块从 ansi 改成了 utf-8 ,结果在网页上就多出来一行空白,查看源代码也没发现这行空白怎么来的.只有在firebug下查看DOM才能看的到.

原因倒是很快就找到了. Velocity 在对 utf-8 加载的时候有兼容性问题,会将 utf-8 的 BOM 读取并解析成一个空行.

解决办法,就是使用 FileResourceLoader 代替默认的 ResourceLoader .并指定 unicode = true.

Velocity 配置如下:

resource.loader = file
file.resource.loader.class = org.apache.velocity.runtime.resource.loader.FileResourceLoader
file.resource.loader.path= D:/eworkspace/.......  这里换成自己的VM物理目录.
file.resource.loader.cache = false  是否使用缓存模板,建议在开发的时候设置为关闭.实际上线运行的时候打开,可以提升效率.
file.resource.loader.unicode = true  该配置可忽略utf-8 的BOM解析.
file.resource.loader.modificationCheckInterval = 5 当模板设置成缓存后,检测模板变更间隔时间.


晚上花了好几个小时在找怎么把 VM目录换成网站的相对路径,一直找不到结果,只能作罢...