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>

このテンプレートには、DB にクエリを実行し、いくつかの基準に一致するバグの数を返すようにユーザーが構成するネストされた他のベロシティ テンプレートがあります。返された数値が 0 の場合、すべてがハンキードリーであるという考えです。そうでなければ、まあ... あなたは写真を手に入れます。

さて、私の考えには明らかに間違っていることがあります。

  1. $body 文字列は、次のようなものを返すよう{0} issuesです。
  2. は変数か何かの{0}ように見えますが、ドキュメントを見つけることができれば地獄です。

質問

  • 最初に評価されるのはどのテンプレートですか?
  • あるテンプレートのロジックを別のテンプレートの出力に基づいて作成することはできますか?
  • なぜ私の人生はこのようなものですか?気にしないでください、私はその答えを知っています。
4

1 に答える 1

1

のような文字列{0}は、表示されるものが実際の最終結果ではなく、実際のデータで埋められるはずのメッセージ テンプレートであることを示唆しています。私にはMessageFormatで使用されるキーのように見えますが、別のものである可能性があります。

内部マクロのコードもたまたま持っていますか?

于 2012-08-17T08:47:15.553 に答える