java Velocity 的宏定义实例详解编程语言

一个简单的例子用来演示 Velocity 的宏定义

VMDemo.java

import java.io.StringWriter; 
import java.io.Writer; 
 
import org.apache.velocity.Template; 
import org.apache.velocity.VelocityContext; 
import org.apache.velocity.app.Velocity; 
import org.apache.velocity.tools.generic.IteratorTool; 
 
public class VMDemo { 
 
  public static void main(String[] args) throws Exception { 
    Velocity.init(); 
 
    Template t = Velocity.getTemplate("./src/demo.vm"); 
 
    VelocityContext ctx = new VelocityContext(); 
    ctx.put("var", new IteratorTool()); 
 
    Writer writer = new StringWriter(); 
    t.merge(ctx, writer); 
 
    System.out.println(writer); 
  } 
}

demo.vm

#macro( tablerows $color $somelist ) 
  #foreach( $something in $somelist ) 
      <tr><td bgcolor=$color>$something</td></tr> 
  #end 
#end 
 
#set( $greatlakes = ["Superior","Michigan","Huron","Erie","Ontario"] ) 
#set( $color = "blue" ) 
<table> 
    #tablerows( $color $greatlakes ) 
</table>

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/10476.html

(0)
上一篇 2021年7月19日 10:14
下一篇 2021年7月19日 10:14

相关推荐

发表回复

登录后才能评论