Velocity demo

 
  1. package org.demo;  
  2.   
  3. import java.io.StringWriter;  
  4. import java.util.ArrayList;  
  5. import java.util.Date;  
  6. import java.util.HashMap;  
  7. import java.util.List;  
  8. import java.util.Map;  
  9.   
  10. import org.apache.velocity.Template;  
  11. import org.apache.velocity.VelocityContext;  
  12. import org.apache.velocity.app.Velocity;  
  13. import org.apache.velocity.app.VelocityEngine;  
  14. import org.demo.bean.Student;  
  15.   
  16. public class Test {  
  17.     public static void main(String[] args) throws Exception {  
  18.         /* first, get and initialize an engine */  
  19.         VelocityEngine ve = new VelocityEngine();  
  20.           
  21.         // 设置类路径加载模板  
  22.         ve.setProperty(Velocity.RESOURCE_LOADER, "class");  
  23.         ve.setProperty("class.resource.loader.class",  
  24.                 "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");  
  25.           
  26.         ve.init();  
  27.           
  28.         /* next, get the Template */  
  29.         Template t = ve.getTemplate("org/demo/hello.vm");  
  30.   
  31.         // Example 1  
  32.         /* create a context and add data */  
  33.         VelocityContext context = new VelocityContext();  
  34.         context.put("name""sunny");  
  35.         context.put("site""http://cutesunshineriver.iteye.com");  
  36.         context.put("date", (new Date()).toString());  
  37.   
  38.         // Example 2  
  39.         /* fill the context with a list */  
  40.         List<String> temp = new ArrayList<String>();  
  41.         temp.add("1");  
  42.         temp.add("2");  
  43.         context.put("list", temp);  
  44.   
  45.         // Example 3  
  46.         /* fill the context with hashmap */  
  47.         Map<String, Integer> map = new HashMap<String, Integer>();  
  48.         map.put("key1"3);  
  49.         map.put("key2"4);  
  50.         context.put("map", map);  
  51.           
  52.         // Example 4  
  53.         /* fill the context with javabean list */  
  54.         List<Student> students = new ArrayList<Student>();  
  55.         students.add(new Student(5"broadway 26"));  
  56.         students.add(new Student(6"sunset avenue 26"));  
  57.         context.put("students", students);  
  58.   
  59.         /* now render the template into a StringWriter */  
  60.         StringWriter writer = new StringWriter();  
  61.         t.merge(context, writer);  
  62.         /* show the World */  
  63.         System.out.println(writer.toString());  
  64.     }  
  65. }  



2、vm文件 

Vm代码   收藏代码
  1. #set($aVar = "good!")  
  2. Hello $name! Welcome to $site world!  
  3. today is $date.  
  4. $aVar  
  5. ====================================  
  6. Logic below:  
  7. #set($admin = "admin")  
  8. #set($user = "user")  
  9. #if ($admin == $user)  
  10. Welcome admin!  
  11. #else  
  12. Welcome user!  
  13. #end  
  14. ====================================  
  15. List below:  
  16. #foreach( $product in $list )  
  17. $product  
  18. #end  
  19. ====================================  
  20. Map below:  
  21. #foreach($key in $map.keySet())  
  22. $key's value: $map.get($key)  
  23. #end  
  24. ====================================  
  25. student beans below:  
  26. #foreach ($s in $students)  
  27. <$velocityCount> No: $s.no; Address: $s.address  
  28. #end  
  29. ====================================  
  30. #macro ( tablerows $color $somelist )   
  31.   #foreach ( $something in $somelist )   
  32.     <tr><td bgcolor=$color>$something</td</tr>   
  33.   #end   
  34. #end   
  35. #set ( $greatlakes = [ "Superior""Michigan""Huron""Erie""Ontario" ] )   
  36. #set ( $color = "blue" )   
  37. <table>   
  38.   #tablerows( $color $greatlakes )   
  39. </table>   
  40. ====================================  
  41. #foreach ( $bar in [2..-2] )   
  42.   $bar   
  43. #end   



3、输出 
Hello sunny! Welcome to http://cutesunshineriver.iteye.com world! 
today is Sun Apr 10 09:09:12 CST 2011. 
good! 
==================================== 
Logic below: 
Welcome user! 
==================================== 
List below: 


==================================== 
Map below: 
key2's value: 4 
key1's value: 3 
==================================== 
student beans below: 
<1> No: 5; Address: broadway 26 
<2> No: 6; Address: sunset avenue 26 
==================================== 
<table> 
        <tr><td bgcolor=blue>Superior</td</tr> 
      <tr><td bgcolor=blue>Michigan</td</tr> 
      <tr><td bgcolor=blue>Huron</td</tr> 
      <tr><td bgcolor=blue>Erie</td</tr> 
      <tr><td bgcolor=blue>Ontario</td</tr> 
  </table> 
==================================== 
  2 
  1 
  0 
  -1 
  -2 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值