`

velocity基础教程--1.标准使用

阅读更多
http://llying.iteye.com/blog/387253

velocity是一个非常好用的模板引擎
这里不对项目进行详细介绍,可以访问apache官方网站查看相关说明

下面我们通过一个简单的实例来讲解一下velocity的使用过程
// 创建引擎   
        VelocityEngine ve=new VelocityEngine();   
        //设置模板加载路径,这里设置的是class下   
        ve.setProperty(Velocity.RESOURCE_LOADER, "class");   
        ve.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");   
        try {   
            //进行初始化操作   
            ve.init();   
            //加载模板,设定模板编码   
            Template t=ve.getTemplate("test/velocity/simple1.vm","gbk");   
            //设置初始化数据   
            VelocityContext context = new VelocityContext();   
            context.put("name", "张三");   
            context.put("project", "Jakarta");   
            //设置输出   
            StringWriter writer = new StringWriter();   
            //将环境数据转化输出   
            t.merge(context, writer);   
            //简化操作   
            //ve.mergeTemplate("test/velocity/simple1.vm", "gbk", context, writer );   
            System.out.println(writer.toString());   
        } catch (Exception e) {   
            e.printStackTrace();   
        }  

这里需要注意的是Template t=ve.getTemplate("test/velocity/simple1.vm","gbk");
这里的gbk不是必须的,但是我的模板中使用了中文所以要指定编码规则。

其次是
ve.setProperty(Velocity.RESOURCE_LOADER, "class");
ve.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
很多人初次使用velocity的时候总是找不到模板,而改用绝对路径访问模板
就是因为没有设置模板存储的地址

也可以使用Velocity.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, loadpath);
loadpath是路径地址

simple1.vm
## 第一个例子   
你好 $name !   
$project project. 

到目前为止一个简单单完整的velocity已经完成。
分享到:
评论

相关推荐

    struts2实例入门教程

    通过实践上述教程中的步骤,你将能够逐步掌握Struts2框架的基本概念、配置和使用方法,为后续深入学习和开发奠定坚实的基础。Struts2的灵活性、强大的MVC实现和丰富的插件支持使其成为Java web开发中的重要工具。

    struts2教程(完全版).doc

    5. 其他配置文件如`velocity.properties`,`struts-default.vm`,`struts-plugin.xml`则分别用于Velocity模板引擎的配置、视图模板的默认设置以及插件的配置。 在使用IDE如MyEclipse进行开发时,为了获得`struts....

    struct2入门教程

    2. 编写Struts2配置文件:Struts2的默认配置文件名为struts.xml,通常放置于WEB-INF/classes目录下,使用标准的XML格式书写配置。 3. 在web.xml中配置Struts2启动信息:Struts2框架通过Filter在web.xml中配置启动,...

    struts2基本教程

    5. **velocity.properties, struts-default.vm, struts-plugin.xml** - 其他辅助配置文件,分别涉及Velocity模板引擎、默认视图模板和插件配置。 为了在MyEclipse中获得XML编辑器的代码提示,你需要手动导入Struts2...

    velocity学习资料.zip

    1. 基本教程:介绍Velocity的概念、安装和基本用法。 2. VTL语法详解:深入解析VTL的各种指令和表达式。 3. 示例代码:展示如何在实际项目中使用Velocity。 4. 最佳实践:提供一些编写高效、可维护模板的建议。 5. ...

    WebWork教程-0.90版

    - **WebWork2** 建立在Xwork的基础上,专注于处理HTTP请求和响应,使用**ServletDispatcher**将HTTP请求转换为Action,并支持多种视图展示方式如JSP、Velocity、FreeMarker等。 #### 二、WebWork安装与入门 ##### ...

    Java相关技术-Java教程.pdf

    JNDI(Java命名和目录接口)是一个Java API,为名称和目录服务提供了一种统一的方法,使Java代码可以使用一组标准API与不同的命名和目录服务进行交互。 JMAPI(Java管理API)是一个Java接口集,用于访问和控制Java...

    J2EE和数据分析实践分享-V0.2.pptx

    #### 一、J2EE基础知识 - **定义**:J2EE(Java 2 Platform, Enterprise Edition)是一种基于Java的平台标准,用于开发可移植、健壮、安全、多用户访问和多平台部署的企业级应用程序。它是由Sun Microsystems在2002...

    webwork教程

    - Xwork是WebWork2的基础,它实现了标准的Command模式。 - 完全脱离了Web层,可以独立于Web容器使用。 - 提供了核心功能,如拦截器、属性验证、类型转换等。 - **WebWork2**: - 建立在Xwork之上,主要处理HTTP...

    nim-docset:Dash,Zeal或Velocity中Nim的文档集

    1. `docs` 文件夹:这个目录下通常会有HTML格式的Nim文档,包括语言参考、教程、标准库文档等,是构建docset的基础。 2. `info.plist` 文件:这是一个配置文件,用于定义docset的元数据,如名称、作者、版本和图标等...

    《Java Web程序设计任务教程》-教材源码第7章.rar

    通过对《Java Web程序设计任务教程》第7章的学习,学生能够掌握Java Web开发的基本技能,为构建实际的Web应用程序打下坚实基础。通过实践这些知识点,他们可以创建功能丰富的、交互性强的Web应用,并且理解Web应用...

    struts2 PPT教程

    Struts2是一个基于MVC(Model-View-Controller)架构的Java Web开发框架,它源自WebWork项目,并在WebWork2的基础上发展而来。Struts2的主要目标是提供一个更加灵活和强大的解决方案,以解决Struts1.x版本中存在的...

    Struts2中文教程

    它在Struts1的基础上进行了很多改进,提供了更丰富的功能和更好的灵活性。本教程将深入介绍Struts2的基础知识,帮助初学者快速掌握这个框架。 1. **Struts2架构** Struts2的核心是Action类,它是业务逻辑处理的...

    Struts in Action 中文修正版源代码1

    这本书的中文修正版源代码1提供了与书中的示例和教程对应的代码资源,帮助读者更好地理解和学习Struts框架的工作机制。 Apache Struts是一个基于Model-View-Controller (MVC)设计模式的开源Java Web应用程序框架。...

    北大青鸟struts2教程

    它在Struts1.x的基础上进行了重大改进,解决了前一版本存在的诸多问题,为开发者提供了更强大、灵活和易测试的解决方案。下面将详细讨论Struts2的关键特性和工作原理。 首先,Struts2的引入是为了解决Struts1.x中的...

    FLUENT UDF中文教程

    - **代码示例**:使用 DEFINE_PROFILE 宏来定义 inlet_x_velocity 函数。 - **函数定义**:在 UDF 中,通常会使用预定义的宏来定义函数,以便于 Fluent 识别并使用。 通过以上介绍可以看出,Fluent 的 UDF 功能非常...

Global site tag (gtag.js) - Google Analytics