`

velocity 实例

    博客分类:
  • java
阅读更多


通过velocity对字符串进行格式化输出
package cn.com.ld.test.velocity;

import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

import junit.framework.Assert;

import org.apache.commons.lang.StringEscapeUtils;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.context.Context;
import org.junit.Before;
import org.junit.Test;

public class VelocityTest{
	
	private final static String TEMPLATE = "src/cn/com/ld/test/velocity/template.properties" ;
	
	private Velocity  v = null ;
	@Before
	public void init(){
		v = new Velocity();
		Properties p = new Properties();
		v.init(TEMPLATE);
	}
	
	@Test
	public void testA(){
		System.out.println("testa0:"+StringEscapeUtils.unescapeJava(String.valueOf(v.getProperty("name"))));
		//Escape.getText("---------------"+(String) v.getProperty("name")) ;
	}
	
	
	@Test
	public void testEvaluate(){
		Context context = new VelocityContext();
		context.put("name", "java小生");
		StringWriter sw = new StringWriter();
		Assert.assertEquals(true, (v.evaluate(context, sw, "", "hello,$name")));
		System.out.println(sw.toString());
		
	}
	
	@Test
    public void testMergeUnContainKey() throws UnsupportedEncodingException{
    	Map<String,Object> context = new HashMap<String,Object>();
		context.put("name", "java小生");
		VelocityContext vt = new VelocityContext(context);
		StringWriter sw = new StringWriter();
		Template t = Velocity.getTemplate(TEMPLATE);
		t.merge(vt, sw);
		System.out.println(StringEscapeUtils.unescapeJava(sw.toString()));
    }
}



2:properties文件如下
username : $name
name=java\u5c0f\u751f
分享到:
评论

相关推荐

    velocity实例

    在"velocity实例"中,我们可以看到几个特定的模板文件: 1. getter.vm:这个模板可能包含了生成getter方法的代码结构,开发者可以根据需求定制获取属性值的方法。 2. test.vm:可能用于生成单元测试代码,帮助快速...

    VELOCITY实例-餐饮新版V1.10.rar

    "VELOCITY实例-餐饮新版V1.10.rar"是一个包含有关餐饮行业的软件应用更新的压缩文件,版本为V1.10。这个文件主要关注的是Velocity模板语言在Java环境中的应用,它是一种用于生成动态网页内容的强大的模板引擎。 ...

    velocity实例及中文详细文档

    在"velocity实例"中,你可以找到实际应用Velocity模板语言的示例。这些实例通常会展示如何在模板中嵌入变量、控制结构(如条件语句和循环)以及方法调用,以动态生成HTML或其他格式的输出。例如,可能有一个例子展示...

    spring3.2+velocity 实例

    标题“spring3.2+velocity 实例”表明我们要探讨的是如何在Spring 3.2框架中集成并使用Velocity模板引擎来构建动态Web应用。Velocity是一个开源的Java模板引擎,它允许开发者将业务逻辑与表现层分离,使得网页设计...

    webwork+spring+ibatis+velocity实例

    【标题】"WebWork+Spring+Ibatis+Velocity实例"是一个综合性的开发示例,它展示了这四个技术在实际Web应用程序中的集成与应用。WebWork是早期的一个MVC(Model-View-Controller)框架,提供了丰富的动作调度和数据...

    Struts2 与 Velocity 实例

    Struts2 和 Velocity 是两种广泛应用于Java Web 开发中的开源框架。Struts2 主要负责MVC(模型-视图-控制器)架构的实现,提供了一种组织应用程序逻辑的方式,而Velocity 则是一个模板引擎,专注于视图层的渲染,...

    velocity 简单实例

    这个简单的实例将会帮助我们理解如何在实际项目中使用 Velocity。 首先,我们需要了解 Velocity 的基本概念。Velocity 模板语言(VTL)是 Velocity 的核心,它允许我们在模板中插入变量和控制结构,如条件语句和...

    velocity Java开发指南中文版

    - **单实例还是多实例(To Singleton Or Not To Singleton)**: 讨论了在不同的应用场景下,是应该使用单个 Velocity 实例还是多个实例的问题。 - **Singleton Model**: 介绍如何使用单例模式来管理 Velocity 的实例...

    velocity总结

    - **初始化 Velocity**:在 JVM 或 Web 应用中仅存在一个 Velocity 引擎实例,所有应用共享该实例。通过 `org.apache.velocity.app.Velocity` 类来获取这个单例。 - **示例代码**: ```java Velocity.set...

    Velocity模板实例

    Velocity模板实例 Velocity模板实例 Velocity模板实例 Velocity模板实例

    Java Web项目开发案例精粹--Velocity简单实例

    【Java Web项目开发案例精粹--Velocity简单实例】 在Java Web开发中,Velocity是一个非常流行的模板引擎,它允许开发者将HTML页面设计与业务逻辑相分离,使得开发者可以专注于后端逻辑,而设计师则可以自由地设计...

    Apache Velocity - Developer's Guide

    - **非单例模型**:如果需要为每个请求或用户会话单独创建 Velocity 实例,则可以使用非单例模型。 #### 四、上下文 上下文是 Velocity 中一个重要的概念,它是 Velocity 引擎用来存储数据模型中的变量的地方。...

    velocity教程

    **四、Velocity实例** 一个简单的Velocity模板可能如下所示: ```html &lt;!DOCTYPE html&gt; $title &lt;h1&gt;Welcome, $username! &lt;p&gt;You have $messageCount messages. ``` 在这个例子中,`$title`、`$username`...

    Velocity_java开发指南

    - **独立实例**:探讨在特定情况下使用多个独立Velocity实例的优点和缺点。 #### 五、The Context - **基础概念**:介绍Context类及其作用。 - **迭代支持**:展示如何在模板中使用`#foreach`指令来遍历列表或其他...

    velocity生成静态页面实例

    在“velocity生成静态页面实例”中,我们首先需要一个 Velocity模板文件(通常以`.vm`为扩展名),在这个文件中,我们可以使用Velocity语法来定义页面结构,并插入动态数据占位符。例如,我们可以写一个简单的模板:...

    Velocity入门小实例,纯java工程

    本实例旨在帮助初学者快速入门Velocity,理解其基本用法和核心概念。 1. **Velocity简介** Velocity是一个基于Java的模板引擎,它允许开发者在模板中使用特定的语法(Velocity Template Language, VTL)来插入动态...

    struts2与velocity集成 实例

    Struts2和Velocity是两种广泛应用于Java Web开发的技术。Struts2是一个强大的MVC(Model-View...通过实践这个实例,你可以深入学习到如何在Struts2中使用Velocity模板来构建动态网页,进一步提升你的Java Web开发技能。

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

    本实例将探讨如何使用Maven作为项目管理工具,结合Spring MVC作为控制层框架,Mybatis作为数据访问层框架,以及Velocity作为视图层模板引擎,来构建一个完整的Java Web应用。以下是关于这些技术的详细解释和整合步骤...

Global site tag (gtag.js) - Google Analytics