0

v4 提供了一个 API:ST.add(String, Object)。我在 v4 中找不到 v3 API setAttributes(Object)。

我使用了 ST.add("root", JSONObject)。出现异常:

java.lang.IllegalArgumentException: no such attribute: root
        at org.stringtemplate.v4.ST.add(ST.java:223)
        at jjs.stst.STStandaloneTool.invokeTemplate(STStandaloneTool.java:479)
        at jjs.stst.STStandaloneTool.generate(STStandaloneTool.java:420)
        at jjs.stst.STStandaloneTool.main(STStandaloneTool.java:722)
4

1 回答 1

0

我有同样的问题。当模板不是匿名的并且不期望任何形式参数时会发生此错误。你可以自己添加这个参数,但它不舒服。

可以通过将 ST.impl.HasFormalArgs 设置为 false 并使用 ST.add 来绕过问题

于 2013-03-06T10:31:26.020 回答