文件testMacro.txt
更改要導入的文件中變量的值; Freemarker的
<#import "./importMe.txt" as my>
<#assign a=0 >
<@my.macro1 />
${a}
文件importMe.txt
<#macro macro1 >
${a}
</#macro>
從Java文件
現在,當我執行它,它說。
Exception in thread "main" java.lang.RuntimeException: freemarker.core.InvalidReferenceException: Expression a is undefined on line 3, column 3 in importMe.txt at msjava.hdom.examples.DbQuery.main(DbQuery.java:59) Caused by: freemarker.core.InvalidReferenceException: Expression a is undefined on line 3, column 3 in importMe.txt
但是,如果我不這樣做的進口,而是定義文件testMacro.txt
內宏觀然後正常工作。
我想要做的是,我想改變價值a
文件testMacro.txt
中,文件importMe.txt
內,使得它被後來在testMacro.txt
體現。
謝謝。
freemarker函數中沒有任何引用類的東西嗎? – Kraken
沒有。然而,Java對象是通過引用傳遞的,所以對於可變對象,你可以做一些技巧。 – ddekany