在Velocity中默认加载vm文件的类是FileResourceLoader,而这个类是用File来读取vm文件的。所以在不同的环境下,File的根目录是不一样的,如在eclipse项目中就是项目的文件夹为根目录 。
解决vm找不到的方法我知道的有这两种:
1. 设置把Velocity(RuntimeConstants)中的FILE_RESOURCE_LOADER_PATH对应的值设置为vm文件的绝对路径,如:properties.put(Velocity.FILE_RESOURCE_LOADER_PATH, "E:/project/velocity/vm/");
2. 一般vm文件可以放在src目录下,这样我们可以把默认加载vm文件类更改成ClasspathResourceLoader,ClasspathResourceLoader加载资源时是通过ClassLoader的getResourceAsStream方法。可以这样修改:properties.put("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");这样就可以直接加载classpath目录下的vm文件了。
分享到:
相关推荐
在IT行业中,有时候我们需要将动态数据插入到预设的文档模板中,生成定制化的输出文件。在这种场景下,"Jsp结合Velocity实现依据Word模板文件生成对应数据文件"的技术方案显得尤为实用。JSP(JavaServer Pages)是...
其次,关于Vm文件中的中文乱码问题,这通常是由于模板文件的编码与Velocity读取时所使用的编码不一致导致的。为了解决这个问题,我们需要在获取模板时指定正确的编码方式,例如在示例中使用了`gb18030`: ```java ...
在Velocity中,模板路径是非常关键的概念,它决定了模板文件在应用程序中的位置。模板路径的设置直接影响到模板的加载和解析,从而影响到最终的输出结果。 1. **模板路径的配置** - 在 Velocity 中,模板路径通常...
字符串字面量可以被解析或不解析,取决于`velocity.properties`配置文件中的`stringliterals.interpolate`设置。 2. **变量规范写法**:推荐使用`${name}`这种格式,例如`$vice`用于动态组合文本。 **示例**: ```...
SpringBoot集成Velocity代码生成模板是现代Java开发中的一个重要工具,它极大地提高了开发效率,尤其是在处理大量数据表映射到业务层代码时。Spring Boot作为一款轻量级的框架,简化了初始化和配置过程,而Velocity...
6. **代码热部署**:VM插件可以实现代码的热部署,即在不重启应用的情况下更新类文件,这在开发过程中节省了大量的时间。 在提供的“velocity插件”中,Velocity可能是指Velocity Engine,这是一个流行的Java模板...
通过这个例子工程,你可以了解到如何在不依赖XML配置的情况下,直接在代码中创建和管理Velocity模板。这对于快速原型开发或小型项目来说非常方便。同时,这也是一种理解Velocity工作原理的好方式,为以后在更大规模...
Velocity模板语言(VTL)允许开发者在模板中插入Java表达式,但模板本身并不执行Java代码,而是由Velocity引擎解析并执行。这样做的好处是提高了安全性,降低了模板被恶意修改的风险。Velocity支持控制结构(如if、...
4. 属性查找规则:Velocity有一套规则来决定如何查找变量的属性,如果属性不存在,它会尝试其他可能的方式。 5. 渲染:当VTL遇到一个变量,它会尝试将其转换为字符串并输出到最终的HTML或其他输出格式。 除了基础...
3. **编写Velocity模板**:在项目中创建一个目录来存放Velocity模板文件,这些文件通常以`.vm`为扩展名。 4. **生成静态页面**:在Maven构建过程中,Velocity插件会读取模板文件,结合Java代码中的数据,生成HTML或...
这个"Velocity + Servlet简单工程例子"是为了帮助那些正在学习Velocity的爱好者们更好地理解和应用Velocity模板语言到实际的Web开发中。Velocity通过将表现层(视图)与业务逻辑层(控制器)分离,实现了MVC(Model-...
它的模板文件(.vm)中,开发者可以定义变量、控制结构(如条件语句和循环)、以及调用Java方法,将动态数据嵌入到静态HTML结构中。 【压缩包子文件的文件名称列表】"AUTOCODE"可能是一个自动生成的文件或者目录名...
- 在新的Java项目中尝试创建一个Velocity模板文件(如`.vm`),如果MyEclipse能够识别并提供代码提示,那么恭喜,你已经成功安装了Velocity插件。 6. **使用Velocity插件**: 安装完成后,你可以利用插件的功能来...
Struts2、Spring和Velocity是Java...同时,由于它们都是开源的,有大量的社区支持和文档,学习和解决问题变得更加容易。通过熟练掌握Struts2、Spring和Velocity,开发者能够构建出高度模块化、易于维护的Java Web应用。
在 Struts2 中使用 Velocity 模板引擎,可以通过在配置文件中指定 result 的 type 属性为 velocity,然后将的 location 属性指定到一个以 vm 结尾的资源上就可以了! Velocity 模板引擎的使用中需要注意以下几点: ...
Velocity 是 Apache 软件基金会的项目,它的设计目标是使开发者能够专注于页面的布局和设计,而不是关注如何将数据插入到页面中。Velocity 使用简单的语法,通过 $variable 和 #macro 等指令来引用和操作数据。这...
由于描述中提到的博文链接已不可用,你可能需要自行搜索“Veloeclipse”或“Velocity for MyEclipse 10”来找到合适的下载资源。 2. **解压插件安装包**: 下载完成后,解压文件,通常会得到一个包含`.jar`文件的...
在IT行业中,编辑器是程序员日常工作中不可或缺的工具,EditPlus就是一款广受欢迎的轻量级文本编辑器,尤其受到Web开发者和系统管理员的喜爱。它支持多种编程语言,并且允许用户自定义语法高亮,提高了代码可读性和...
在使用 "velocity-1.7-dep.jar" 时,开发者需要将其添加到项目的类路径(classpath)中,这样就可以在代码中通过 `import` 语句来引用 Velocity 相关的类和方法。例如,创建一个新的 `VelocityContext` 对象,然后将...