- publicclassVelocityTest{
- privatestaticPropertiesprops=newProperties();
- static{
- props.setProperty(Velocity.INPUT_ENCODING,“UTF-8”);
- props.setProperty(Velocity.RESOURCE_LOADER,“class”);
- props.setProperty(“class.resource.loader.class”,
- “org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader”);
- }
- publicstaticvoidmain(String[]args){
- testStringVelocity();
- testCommonsStringUtils();
- }
- /**
- *测试字符串模板替换
- */
- privatestaticvoidtestStringVelocity(){
- //初始化并取得Velocity引擎
- VelocityEngineengine=newVelocityEngine(props);
- //字符串模版
- Stringtemplate=“${owner}:您的${type}:${bill}在${date}日已支付成功”;
- //取得velocity的上下文context
- VelocityContextcontext=newVelocityContext();
- //把数据填入上下文
- context.put(“owner”,“nassir”);
- context.put(“bill”,“201203221000029763”);
- context.put(“type”,“订单”);
- context.put(“date”,
- newSimpleDateFormat(“yyyy-MM-ddHH:mm:ss”).format(newDate()));
- StringWriterwriter=newStringWriter();
- engine.evaluate(context,writer,“”,template);
- System.out.println(writer.toString());
- }
- /**
- *测试模板静态方法使用
- */
- privatestaticvoidtestCommonsStringUtils(){
- VelocityEngineengine=newVelocityEngine();
- engine.init();
- VelocityContextctx=newVelocityContext();
- ctx.put(“stringUtils”,newStringUtils());
- ctx.put(“comments”,“thisisa\nnewlinetest”);
- ctx.put(“newline”,“\n”);
- ctx.put(“break”,“<br/>”);
- Stringtemplate=“#set($comments=$stringUtils.replace($comments,$newline,$break))”;
- template+=“$comments”;
- StringWriterwriter=newStringWriter();
- engine.evaluate(ctx,writer,“”,template);
- System.out.println(writer.toString());
- //assertEquals(“thisisa<br/>newlinetest”,writer.toString());
- }
- }
运行结果:
nassir:您的订单 : 201203221000029763 在 2012-03-26 18:13:01 日已支付成功
this is a
newline test