bre*_*ine 0 template-engine freemarker templating templating-engine string-interpolation
假设我有一个 freemarker 宏:
<#macro helloObject>
World
</#macro>
Run Code Online (Sandbox Code Playgroud)
在某些情况下,我可以轻松调用它:
Hello, <@helloObject/>!
Run Code Online (Sandbox Code Playgroud)
但是插入它的语法是什么,例如,如果它是字符串的一部分?
<#assign greeting="Hello, <@helloObject>!" /> <#-- doesn't work -->
<#assign greeting="Hello, ${helloObject}!" /> <#-- doesn't work -->
<#assign greeting="Hello, ${@helloObject}!" /> <#-- doesn't work -->
<#assign greeting="Hello, ${<@helloObject/>}!" /> <#-- doesn't work -->
<#assign greeting="Hello, @helloObject!" /> <#-- doesn't work -->
${greeting}
Run Code Online (Sandbox Code Playgroud)
是的你可以。
<#宏helloObject>
世界
</#宏>
<#assign x><@helloObject/></#assign>
你好 ${x}。
将打印:
你好,世界。
您正在寻找一个函数。
<#function helloObject>
<#return "World">
</#function>
${helloObject()} <#-- Will print out World -->
<#assign greetings = "Hello, " + helloObject() />
${greetings} <#-- Will print out Hello, World -->
Run Code Online (Sandbox Code Playgroud)
无法分配宏的结果,因为它是模板片段。
| 归档时间: |
|
| 查看次数: |
2192 次 |
| 最近记录: |