Velocity字符串模板替换

Java代码 收藏代码
  1. publicclassVelocityTest{
  2. privatestaticPropertiesprops=newProperties();
  3. static{
  4. props.setProperty(Velocity.INPUT_ENCODING,"UTF-8");
  5. props.setProperty(Velocity.RESOURCE_LOADER,"class");
  6. props.setProperty("class.resource.loader.class",
  7. "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
  8. }
  9. publicstaticvoidmain(String[]args){
  10. testStringVelocity();
  11. testCommonsStringUtils();
  12. }
  13. /**
  14. *测试字符串模板替换
  15. */
  16. privatestaticvoidtestStringVelocity(){
  17. //初始化并取得Velocity引擎
  18. VelocityEngineengine=newVelocityEngine(props);
  19. //字符串模版
  20. Stringtemplate="${owner}:您的${type}:${bill}在${date}日已支付成功";
  21. //取得velocity的上下文context
  22. VelocityContextcontext=newVelocityContext();
  23. //把数据填入上下文
  24. context.put("owner","nassir");
  25. context.put("bill","201203221000029763");
  26. context.put("type","订单");
  27. context.put("date",
  28. newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").format(newDate()));
  29. StringWriterwriter=newStringWriter();
  30. engine.evaluate(context,writer,"",template);
  31. System.out.println(writer.toString());
  32. }
  33. /**
  34. *测试模板静态方法使用
  35. */
  36. privatestaticvoidtestCommonsStringUtils(){
  37. VelocityEngineengine=newVelocityEngine();
  38. engine.init();
  39. VelocityContextctx=newVelocityContext();
  40. ctx.put("stringUtils",newStringUtils());
  41. ctx.put("comments","thisisa\nnewlinetest");
  42. ctx.put("newline","\n");
  43. ctx.put("break","<br/>");
  44. Stringtemplate="#set($comments=$stringUtils.replace($comments,$newline,$break))";
  45. template+="$comments";
  46. StringWriterwriter=newStringWriter();
  47. engine.evaluate(ctx,writer,"",template);
  48. System.out.println(writer.toString());
  49. //assertEquals("thisisa<br/>newlinetest",writer.toString());
  50. }
  51. }

运行结果:

nassir:您的订单 : 201203221000029763 在 2012-03-26 18:13:01 日已支付成功

this is a

newline test

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值