StringTemplate将地图渲染为文字值

时间:2018-02-12 14:54:29

标签: java stringtemplate stringtemplate-4

使用org.stringtemplate.v4.ST我正在尝试渲染此模板:

$if(foo.map)$Foo Map: <foo.map.keys:{k | <k>: <foo.map.(k)>}; separator="\n"><br/>$endif$

调用st.render()方法时,会打印出来:

Foo Map: <foo.map.keys:{k | <k>: <foo.map.(k)>}; separator="\n"><br/>

即使我在foo.map中设置了值,也不会打印出来。如何打印值而不是模板文字?

1 个答案:

答案 0 :(得分:0)

我没有尝试过。但在第一个观点。你的分隔符是&#39; $&#39;开始和结束。而不是&#39;&lt;&#;;&#39;&gt;&#39;。所以这应该可以解决问题:

$if(foo.map)$Foo Map: $foo.map.keys:{k | $k$: $foo.map.(k)$}; separator="\n"$<br/>$endif$