通过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实例"中,我们可以看到几个特定的模板文件: 1. getter.vm:这个模板可能包含了生成getter方法的代码结构,开发者可以根据需求定制获取属性值的方法。 2. test.vm:可能用于生成单元测试代码,帮助快速...
"VELOCITY实例-餐饮新版V1.10.rar"是一个包含有关餐饮行业的软件应用更新的压缩文件,版本为V1.10。这个文件主要关注的是Velocity模板语言在Java环境中的应用,它是一种用于生成动态网页内容的强大的模板引擎。 ...
在"velocity实例"中,你可以找到实际应用Velocity模板语言的示例。这些实例通常会展示如何在模板中嵌入变量、控制结构(如条件语句和循环)以及方法调用,以动态生成HTML或其他格式的输出。例如,可能有一个例子展示...
标题“spring3.2+velocity 实例”表明我们要探讨的是如何在Spring 3.2框架中集成并使用Velocity模板引擎来构建动态Web应用。Velocity是一个开源的Java模板引擎,它允许开发者将业务逻辑与表现层分离,使得网页设计...
【标题】"WebWork+Spring+Ibatis+Velocity实例"是一个综合性的开发示例,它展示了这四个技术在实际Web应用程序中的集成与应用。WebWork是早期的一个MVC(Model-View-Controller)框架,提供了丰富的动作调度和数据...
Struts2 和 Velocity 是两种广泛应用于Java Web 开发中的开源框架。Struts2 主要负责MVC(模型-视图-控制器)架构的实现,提供了一种组织应用程序逻辑的方式,而Velocity 则是一个模板引擎,专注于视图层的渲染,...
这个简单的实例将会帮助我们理解如何在实际项目中使用 Velocity。 首先,我们需要了解 Velocity 的基本概念。Velocity 模板语言(VTL)是 Velocity 的核心,它允许我们在模板中插入变量和控制结构,如条件语句和...
- **单实例还是多实例(To Singleton Or Not To Singleton)**: 讨论了在不同的应用场景下,是应该使用单个 Velocity 实例还是多个实例的问题。 - **Singleton Model**: 介绍如何使用单例模式来管理 Velocity 的实例...
- **初始化 Velocity**:在 JVM 或 Web 应用中仅存在一个 Velocity 引擎实例,所有应用共享该实例。通过 `org.apache.velocity.app.Velocity` 类来获取这个单例。 - **示例代码**: ```java Velocity.set...
Velocity模板实例 Velocity模板实例 Velocity模板实例 Velocity模板实例
【Java Web项目开发案例精粹--Velocity简单实例】 在Java Web开发中,Velocity是一个非常流行的模板引擎,它允许开发者将HTML页面设计与业务逻辑相分离,使得开发者可以专注于后端逻辑,而设计师则可以自由地设计...
- **非单例模型**:如果需要为每个请求或用户会话单独创建 Velocity 实例,则可以使用非单例模型。 #### 四、上下文 上下文是 Velocity 中一个重要的概念,它是 Velocity 引擎用来存储数据模型中的变量的地方。...
**四、Velocity实例** 一个简单的Velocity模板可能如下所示: ```html <!DOCTYPE html> $title <h1>Welcome, $username! <p>You have $messageCount messages. ``` 在这个例子中,`$title`、`$username`...
- **独立实例**:探讨在特定情况下使用多个独立Velocity实例的优点和缺点。 #### 五、The Context - **基础概念**:介绍Context类及其作用。 - **迭代支持**:展示如何在模板中使用`#foreach`指令来遍历列表或其他...
在“velocity生成静态页面实例”中,我们首先需要一个 Velocity模板文件(通常以`.vm`为扩展名),在这个文件中,我们可以使用Velocity语法来定义页面结构,并插入动态数据占位符。例如,我们可以写一个简单的模板:...
本实例旨在帮助初学者快速入门Velocity,理解其基本用法和核心概念。 1. **Velocity简介** Velocity是一个基于Java的模板引擎,它允许开发者在模板中使用特定的语法(Velocity Template Language, VTL)来插入动态...
Struts2和Velocity是两种广泛应用于Java Web开发的技术。Struts2是一个强大的MVC(Model-View...通过实践这个实例,你可以深入学习到如何在Struts2中使用Velocity模板来构建动态网页,进一步提升你的Java Web开发技能。
本实例将探讨如何使用Maven作为项目管理工具,结合Spring MVC作为控制层框架,Mybatis作为数据访问层框架,以及Velocity作为视图层模板引擎,来构建一个完整的Java Web应用。以下是关于这些技术的详细解释和整合步骤...