2

我有一个速度模板(在 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>

该模板有一个嵌套的其他速度模板,由用户配置以查询数据库并返回匹配某些条件的错误数量。这个想法是,如果返回的数字是零,那么一切都是 hunkydory。否则,好吧……你明白了。

现在,我的想法显然搞砸了。

  1. $body 字符串似乎返回了类似{0} issues.
  2. {0}似乎是一个变量或其他东西,但如果我能找到任何文档,那就见鬼了。

问题

  • 首先评估哪个模板?
  • 我什至可以将一个模板的逻辑建立在另一个模板的输出上吗?
  • 为什么我的生活是这样的?没关系,我知道那个答案。
4

1 回答 1

1

像这样的字符串{0}表明您看到的不是实际的最终结果,而是应该用真实数据填充的消息模板。对我来说,它看起来像是MessageFormat使用的一个键,但它可能是别的东西。

您是否也有内部宏的代码?

于 2012-08-17T08:47:15.553 回答