Velocity Macro With Parameters
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); } } ------------------------------------------------------------------------------------- #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>
1. | Define and use Macro | ![]() | |
2. | Use macro to wrap HTML tags | ![]() |