基于java的Velocity模板匹配引擎

Velocity是一个基于java的模板引擎(模板引擎的作用就是取得数据并加以处理,最后显示出数据)。
它允许任何人仅仅简单的使用模板语言来引用由java代码定义的对象。

主要应用在:
 1.Web应用的开发。
 2.作为模板产生SQL,XML或代码等。
 3.作为其他系统的集成组件使用。

当Velocity应用于application program或 a servlet,主要工作流程如下:
 1.初始化Velocity.
 2.创建Context对象
 3.添加数据到Context
 4.选择模板
 5.合并模板和数据产生输出页面

准备工作:导入相关依赖包,在下面附件中。

例1:应用程序事例

1.模板文件hellovelocity.vm文件

Java代码 复制代码 收藏代码
  1. ##这是一行注释,不会输出
  2. #*这是多行注释,不会输出
  3. 多行注释*#
  4. // ---------- 1.变量赋值输出------------
  5. Welcome $name to Javayou.com!
  6. today is $date.
  7. tdday is $mydae.//未被定义的变量将当成字符串
  8. // -----------2.设置变量值,所有变量都以$开头----------------
  9. #set( $iAmVariable = "good!" )
  10. Welcome $name to Javayou.com!
  11. today is $date.
  12. $iAmVariable
  13. //-------------3.if,else判断--------------------------
  14. #set ($admin = "admin")
  15. #set ($user = "user")
  16. #if ($admin == $user)
  17. Welcome admin!
  18. #else
  19. Welcome user!
  20. #end
  21. //--------------4.迭代数据List---------------------
  22. #foreach( $product in $list )
  23. $product
  24. #end
  25. // ------------5.迭代数据HashSet-----------------
  26. #foreach($key in $hashVariable.keySet() )
  27. $key ‘s value: $ hashVariable.get($key)
  28. #end
  29. //-----------6.迭代数据List Bean($velocityCount为列举序号,默认从1开始,可调整)
  30. #foreach ($s in $listBean)
  31. <$velocityCount> Address: $s.address
  32. #end
  33. //-------------7.模板嵌套---------------------
  34. #foreach ($element in $list)
  35. #foreach ($element in $list)
  36. inner:This is ($velocityCount)- $element.
  37. #end
  38. outer:This is ($velocityCount)- $element.
  39. #end
  40. //-----------8.导入其它文件,多个文件用逗号隔开--------------
  41. #include("com/test2/test.txt")
##这是一行注释,不会输出
#*这是多行注释,不会输出
   多行注释*#
// ---------- 1.变量赋值输出------------
Welcome $name to Javayou.com!
today is $date.
tdday is $mydae.//未被定义的变量将当成字符串

// -----------2.设置变量值,所有变量都以$开头----------------
#set( $iAmVariable = "good!" )
Welcome $name to Javayou.com!
today is $date.
$iAmVariable

//-------------3.if,else判断--------------------------
#set ($admin = "admin")
#set ($user = "user")
#if ($admin == $user)
Welcome admin!
#else
Welcome user!
#end

//--------------4.迭代数据List---------------------
#foreach( $product in $list )
$product
#end

// ------------5.迭代数据HashSet-----------------
#foreach($key in $hashVariable.keySet() )  
$key ‘s value: $ hashVariable.get($key)
#end

//-----------6.迭代数据List Bean($velocityCount为列举序号,默认从1开始,可调整)
#foreach ($s in $listBean)
<$velocityCount> Address: $s.address
#end

//-------------7.模板嵌套---------------------
#foreach ($element in $list)
	#foreach ($element in $list)
	inner:This is ($velocityCount)- $element.
	#end
outer:This is ($velocityCount)- $element.
#end

//-----------8.导入其它文件,多个文件用逗号隔开--------------
#include("com/test2/test.txt")

2.其它非模板文件text.txt

Java代码 复制代码 收藏代码
  1. ======text.txt====================
  2. this is test's content.yeah.
   ======text.txt====================
   this is test's content.yeah.

3.客户端应用测试代码:

Java代码 复制代码 收藏代码
  1. p
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值