2

我编写了以下 StringTemplate 模板行:

<instance.attributes: { attr | <attr.value>}>
<instance.attributes: { attr | <if(attr.value)>skip<else>don't skip<endif> } >

Instance.getAttributes().getValue()如果返回的 Object 值是一个布尔值,它的值为真,则为了编写跳过。

这导致

1
skip

0
skip

(现在我只有一个属性)

有什么问题,为什么我不明白?

0
don't skip
4

1 回答 1

3

来自StringTemplate 维基

<if(attribute)>subtemplate <else>subtemplate2 <endif>如果属性有一个值或者是一个计算结果为真的布尔对象,则包括子模板,否则包括子模板2。这些条件可以嵌套。

我假设 0 表示 not false,而是表示存在值并评估为 true 的某个值。在将其推送到模板之前,您需要计算评估为 false 的布尔值。

于 2012-07-31T13:54:49.613 回答