`
hehailin1986_163.com
  • 浏览: 153676 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Velocity读取模板文件的方法

    博客分类:
  • Java
阅读更多

velocity官网:http://velocity.apache.org/engine/releases/velocity-1.5/user-guide.html
在J2EE应用开发中,经常将Velocity模板文件打包在JAR文件中一起部署,但是Velocity的缺省行为是从OS的文件系统中读取模板文件,使用FileResourceLoader来读取模板文件

如果要改为从classpath中获取模板文件,那么要对Velocity的初始化参数进行调整:
VelocityEngine ve=new VelocityEngine();
//可选值:"class"--从classpath中读取,"file"--从文件系统中读取
ve.setProperty("resource.loader", "class");
//如果从文件系统中读取模板,那么属性值为org.apache.velocity.runtime.resource.loader.FileResourceLoader
ve.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
ve.init();
Template t=ve.getTemplate("/vmpath/test.vm");

另外,Velocity缺省提供了多种读取模板的方法,列举如下,具体内容可以参考发布包中的Javadoc:
org.apache.velocity.runtime.resource.loader.DataSourceResourceLoader
org.apache.velocity.runtime.resource.loader.JarResourceLoader
org.apache.velocity.runtime.resource.loader.StringResourceLoader
org.apache.velocity.runtime.resource.loader.URLResourceLoader

velocity做为一种模板语言,在这个方面也具备自己的实现方式,那就是velocimacro
#velocitymacro 的模板
velocimacro.library=macros.vm
velocimacro.library.autoreload = true
分享到:
评论

相关推荐

    Jsp结合Velocity实现依据Word模板文件生成对应数据文件

    3. **读取模板文件**:使用Velocity的`ResourceLoader`加载Word模板文件,这通常涉及到文件系统的操作或者使用URL。 4. **填充数据**:在上下文中添加你需要的数据,例如数据库查询结果、服务器配置信息等。 5. **...

    velocity入门使用教程

    然后,在Java代码中初始化Velocity引擎,并通过Velocity引擎读取模板文件,再将Java对象数据传入模板,最终合并生成最终的文本输出。 具体实现步骤如下: 1. 创建模板文件hello.vm,在文件中定义输出内容,比如...

    简单的velocity工程

    - 设置编码,确保模板文件的读取和输出符合预期的字符集。 - 配置 VelocityContext,这是模板引擎与Java对象之间数据交换的桥梁,你可以将Java对象放入上下文,然后在模板中通过`$`引用。 学习这个"简单的velocity...

    模板引擎 Velocity

    Velocity 读取模板文件并进行解析,生成一个内部的抽象语法树(AST)。 3. **` VelocityEngine`**:作为 Velocity 的核心,负责加载和管理模板,以及执行模板渲染。你可以配置 VelocityEngine 来指定模板路径、缓存...

    spring+velocity+ajax带进度条上传文件

    通过Part接口的方法,如getInputStream(),可以读取文件内容,然后将其保存到服务器。 综上所述,"spring+velocity+ajax带进度条上传文件"是一个集成的Web开发解决方案,利用Spring处理文件上传,Velocity构建用户...

    Velocity Template的另类用法:生成XML

    3. **加载模板**:读取模板文件并将其加载到Velocity引擎中。 4. **渲染模板**:使用上下文中的数据渲染模板,生成XML字符串。 5. **处理生成的XML**:根据需要,可以选择写入文件、发送到网络或者进行其他处理。 ...

    velocity模板访问

    然而,默认情况下,Velocity会从操作系统的文件系统中读取模板文件,采用`FileResourceLoader`作为资源加载器。 为了使Velocity能够从类路径(classpath)中读取模板文件,我们需要调整其初始化参数。首先,创建一...

    velocity示例

    - `INPUT_ENCODING`: 输入编码,用于读取模板文件时的字符编码。 - `OUTPUT_ENCODING`: 输出编码,用于写入结果时的字符编码。 ### 解决中文乱码问题 在处理中文字符时,常常会遇到乱码的问题。这通常是由于编码不...

    maven velocity

    4. **生成静态页面**:在Maven构建过程中,Velocity插件会读取模板文件,结合Java代码中的数据,生成HTML或其他格式的静态页面,然后放置到指定的输出目录。 5. **测试与调试**:使用Maven的命令行工具,如`mvn ...

    velocity实例

    在实际使用中,开发者通常会创建一个或多个数据模型类,然后使用Velocity引擎读取这些模板文件,结合数据模型中的属性信息,自动生成相应的Java代码。生成的代码可以直接整合到项目中,无需手动编写这些重复性高的...

    velocity官方工具包

    3. **加载模板**: 使用引擎实例加载模板文件,例如`VelocityContext context = new VelocityContext();`和`String templatePath = "path/to/your/template.vm";`。 4. **设置上下文**: 将数据填充到上下文对象中,...

    Velocity 生成Action、Serv、Dao代码

    在`generator`目录下,应该包含了 Velocity 的模板文件,这些文件定义了Action、Serv、Dao层的代码结构和内容。例如,可能有一个`action.vm`用于生成Action类,`serv.vm`用于生成Service类,以及`dao.vm`用于生成DAO...

    Velocity 分析

    Velocity通过读取模板文件,然后结合用户提供的上下文数据,生成最终的输出。这个过程主要包括以下几个步骤: 1. **模板解析**:Velocity将模板文件解析成一个内部的抽象语法树(AST),这个过程会检查VTL指令的...

    velocity-1.7-sources.zip

    velocity 的源代码 Velocity 是一个基于 ...4. 转换 xml:Velocity 提供一个叫 Anakia 的 ant 任务,可以读取 XML 文件并让它能够被 Velocity 模板读取。一个比较普遍的应用是将 xdoc 文档转换成带样式的 HTML 文件。

    velocity 配置jar包

    这里的 `FILE_RESOURCE_LOADER_PATH` 属性指定了模板文件的路径。 3. **设置 Context**:将需要在模板中使用的 Java 对象放入 Context。 ```java VelocityContext context = new VelocityContext(); context.put(...

    velocity+itext导出pdf

    1. **创建 Velocity 模板**:首先,你需要创建一个Velocity模板文件(通常为`.vm`后缀),在其中定义PDF文档的结构和样式。例如,你可以写入HTML样式的标记,但保留动态内容的位置用`${variable}`表示。 2. **初始...

    Velocity入门小实例,纯java工程

    这段代码会读取模板文件,使用上下文中的数据生成最终的字符串输出。 6. **运行实例** 完成上述步骤后,你可以运行你的Java工程,查看 Velocity如何根据模板和数据生成结果。如果`VolecityTest.vm`包含类似`Hello...

    Maven 整合 Spring mvc + Mybatis + Velocity 的实例

    4. **配置Velocity**:在Web应用的配置中设置VelocityViewResolver,指定Velocity模板文件的路径。在Velocity的配置文件velocity.properties中,可以设置模板语言的规则。 5. **编写业务逻辑**:根据需求创建服务层...

    Apache Velocity - Developer's Guide

    - **Velocity 引擎**:负责读取模板文件,并用数据模型填充其中的变量,最终生成完整的文档。 ##### 单例模型与非单例模型 - **单例模型**:在这种模式下,Velocity 引擎在整个应用程序运行期间只被初始化一次,...

Global site tag (gtag.js) - Google Analytics