按名称调用速度宏

时间:2013-02-14 08:50:02

标签: velocity

以某种方式可以按名称调用速度宏,例如:

#macro (sayHello)
 Hello!
#end

#set ($macroName = "sayHello")

#$macroName()

谢谢!

2 个答案:

答案 0 :(得分:4)

#set( $call = "#${macroname}()" )
#evaluate($call)

答案 1 :(得分:0)

快速扫描docs并不表示支持此功能。但你可以做以下事情:

#macro(myMacro1 $param1 $param2)
    ## stuff here...
#end

#macro(myMacro2 $param1 $param2)
    ## stuff here...
#end

#if($condition)
    #myMacro1
#else
    #myMacro2
#end

或者您的宏可能需要采用其他参数来考虑所有情况。