假如在两个vm文件中,a.vm和b.vm,这两个vm文件分别独立,并且分别在这两个vm里面都包含了一个宏叫jsonlist,宏的名称和参数都一样,但是宏内容不一样。那么是不是a.vm和b.vm里面使用的都是各自vm文件里包含的宏呢?
今天在项目中发现,a.vm里面调用jsonlist这个宏的时候调用的不是a.vm文件里面的这个宏,而是b.vm文件里面的jsonlist的这个宏?很奇怪,为什么a.vm里面没有包含b.vm文件啊,怎么会调用到b.vm文件里面的宏呢?然后再做了下测试,重启服务器后,我先访问a.vm这个页面,这是a.vm调用的是a.vm里面的这个宏了,而不是b.vm里面的这个宏了,然后我接着去访问b.vm这个页面,此时b.vm里面调用到的jsonlist这个宏却成了a.vm里面的jsonlist这个宏了。
我用的是tomcat服务器,以此断定,velocity加载的时候是每次访问一个页面,发现这个页面有宏的时候,就把这个页面所有的宏load到服务器中,不是一开始就加载所有的宏,然后下次再访问其它页面的时候,发现如果存在同样名称和参数的宏,那么它不会再加载这个宏到服务器中,所以下次其它页面用到的宏都是第一次加载进来的名称相同的那个宏,后面名称相同的都不会再加载进来。
所以velocity中不能存在名称相同内容不能的多个宏,否则由于访问页面顺序的不同,加载的宏顺序也不同,而服务器只加载第一次用到的那个宏,这种就会出现不可预知的问题。
分享到:
相关推荐
主要介绍了Java web velocity分页宏示例,需要的朋友可以参考下
Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎
maven SpringMVC velocity。itext 按照 velocity 生成pdf 并下载。
文档是velocity基本知识,语法运用,宏定义等,适合新手入门
Velocity Velocity Velocity Velocity Velocity Velocity Velocity Velocity Velocity Velocity
Velocity 和 FreeMarker区别 对于大部分的应用来说,使用 FreeMarker 比 Velocity 更简单,因为 Velocity 还必须编写一些自定义的
赠送jar包:velocity-engine-core-2.3.jar; 赠送原API文档:velocity-engine-core-2.3-javadoc.jar; 赠送源代码:velocity-engine-core-2.3-sources.jar; 赠送Maven依赖信息文件:velocity-engine-core-2.3.pom;...
本课程从velocity engine也就是velocity引擎开始, 先讲解velocity的基本使用以及基础语法 , 然后再讲解velocity 的进阶内容velocity Tools , 以及velocity作为web项目的视图改如何使用 , 每一部分都会有一个综合案例...
赠送jar包:velocity-engine-core-2.3.jar 赠送原API文档:velocity-engine-core-2.3-javadoc.jar 赠送源代码:velocity-engine-core-2.3-sources.jar 包含翻译后的API文档:velocity-engine-core-2.3-javadoc-...
在使用velocity作为视图层时候,经常会碰到为空的判断,这里整理了velocity为空判断
赠送jar包:velocity-tools-generic-3.1.jar; 赠送原API文档:velocity-tools-generic-3.1-javadoc.jar; 赠送源代码:velocity-tools-generic-3.1-sources.jar; 赠送Maven依赖信息文件:velocity-tools-generic-...
打开网址:http://www.web-tag.net/all_17.htm 就是velocity标签大全 、教程 或下载CHM格式帮助文档
Velocity入门教程,语法,Velocity布局,Spring框架集成Velocity
开发velocity所需的jar包
Velocity教程
模板:velocity和freemarker的比较模板:velocity和freemarker的比较
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员...
赠送jar包:velocity-1.7.jar; 赠送原API文档:velocity-1.7-javadoc.jar; 赠送源代码:velocity-1.7-sources.jar; 包含翻译后的API文档:velocity-1.7-javadoc-API文档-中文(简体)版.zip 对应Maven信息:...
关于velocity的学习资料,velocity教程和velocity用户手册
velocity中文文档 教程 velocity中文文档 教程 velocity中文文档 教程