在速度模板中调用宏函数
我试图找出如何从速度宏调用中返回一个值并将其分配给变量
我的宏功能看起来像这样。 它曾经在共同的共享宏文件中
#macro(getBookListLink, $readingTrackerResult)
$readingTrackerResult.getBookListLink()
#end
我需要将此宏的结果分配给另一个速度模板文件中的变量
我尝试过这样的事情
#set($book_list_link = #getBookListLink( $readingTrackerResult ))
但没有工作。 我试着用#,$和在函数getBookListLink之前没有任何东西。 但没有任何工作。 我不能从宏返回? 我的宏有问题?
但是,如果我在html文件中分别调用#getBookListLink($ readingTrackerResult)。 它的工作原理,我可以打印结果到用户界面。 但不能分配给一个变量。
宏不是函数; 它们用于渲染输出。 但是,如果您不介意丢失类型并将结果作为文本获取......
#set( $book_list_link = "#getBookListLink( $readingTrackerResult )" )
为了消除空格和空行,使用多行注释( #* comment *#
):
#macro( myMacro $param )#*
*#the_return_value#*
*##end
而不是生活在'返回值'的字符串限制,最好外部定义的结果变量可以'通过引用'传递,例如:
#macro(getBookListLink $inTrackerResult $outBookListLink)
#if ($outBookListLink)
#set ($outBookListLink = $inTrackerResult.getBookListLink())
#end
#end
#set ($myLink = "")
#getBookListLink($myTrackerResult $myLink)
myBookListLink = "$myLink"<br/>
链接地址: http://www.djcxy.com/p/47311.html