Velocity入门指南——第九章 其它指令

1    Break

#break指令终止当前范围将要执行的任意渲染。“执行范围”本质上是任意带有内容的指令(例如,#foreach、#parse、

#evaluate、#define、#macro或#@somebodymacro)或任意“root”范围(例如,template.merge(...),

Velocity.evaluate(...)或velocityEngine.evaluate(...))。

如果你希望跳出指定执行范围,你可以传入控制引用(例如,$foreach、$template、$evaluate、$define、$macro

或$somebodymacro)作为#break的参数(例如,#break($macro))。这将停止渲染所有指定的范围。当在相同类型的嵌套范

围时,记住你总是能通过$<scope>.parent或$<scope>.topmost访问父指令然后传入这些到#break。

2    Stop

#stop指令停止任意后续的渲染和模板的执行。当指令嵌套在其它模板中通过#parse访问或位于velocity宏中也会终止。为了调试方便,你可以提供一个消息参数(例如,#stop('$foo在context中没有找到'))将写入日志(DEBUG级别)。

3    Evaluate

#evaluate指令能用于自动计算VTL。允许模板在渲染时计算字符串。可以国际化模板或从数据库包括模板部分。

#set($source1 = "abc")

#set($select = "1")

#set($dynamicsource = "$source$select")

## $dynamicsource is now the string '$source1'

#evaluate($dynamicsource)

4    Define

#define指令可以定义引用。

#define( $block )Hello $who#end

#set( $who = 'World!' )

$block


你可能感兴趣的:(Velocity入门指南,其它指令)