我有一个速度模板(在 Confluence 用户宏中),如下所示:
## This macro takes a jiraissues macro in the body with "Show Total Only" configured to TRUE.
## It then parses the return and puts a green check if the number returned is ZERO or a red X otherwise.
## @noparams
#set ($start = $body.indexOf("{") + 1)
#set ($end = $body.indexOf("}") )
Printf debugging...<br />
body.substring($start, $end) = $body.substring($start, $end) <br />
<ac:rich-text-body>
<ac:image ac:thumbnail="false">
## BUG BUG This substring is ALWAYS zero. Dunno why.
#if ($body.substring($start, $end) == "0")
<ri:url ri:value="/images/icons/emoticons/check.png" />
#else
<ri:url ri:value="/images/icons/emoticons/error.png" />
#end
</ac:image>
</ac:rich-text-body>
此模板具有嵌套的其他速度模板,该模板由用户配置为查询数据库并返回与某些条件匹配的 bug 数。 这个想法是,如果返回的数字为零,那么一切都是笨拙的。 否则,好吧...你明白了。
现在,我的想法显然搞砸了。
- $body字符串似乎返回看起来像
{0} issues
的内容。 {0}
似乎是一个变量或其他东西,但是如果我能找到任何文档,那就见鬼了。
问题
- 首先评估哪个模板?
- 我甚至可以将一个模板的逻辑基于另一个模板的输出吗?
为什么我的生活是这样的?没关系,我知道这个问题的答案。
像{0}
这样的字符串表明您看到的不是实际的最终结果,而是一个应该用真实数据填充的消息模板。对我来说,它看起来像MessageFormat使用的键,但它可能是其他东西。
您是否碰巧也有内部宏的代码?