![](/img/trans.png)
[英]Atlassian JIRA Plugin Development: How to make variables available to velocity templates
[英]Apache Velocity: Which variables are available in templates?
是否可以獲取模板中的變量列表並使用列表填充它們? 我希望用戶創建他們的模板,這意味着我事先不知道會有哪些變量可用?
編輯:
在我的模板中,用戶將決定要打印的內容。 如
$ users $ latest
但是從我的應用程序中,我將不知道模板中使用了哪些變量。 我想要一個列表,例如[users Latest],其中包括模板中的所有變量,以便我可以根據用戶規范進行填寫。
您可以通過渲染模板並使用構建列表的ReferenceInsertionEventHandler來收集列表。 但是,問題在於模板是否具有以下內容:
#if( $foo ) $bar #else $woogie #end
您的事件處理程序只會看到$ bar或$ woogie,而不會兩者都見。
這個不受支持(也許已經過時)的類可能會有所幫助:
http://svn.apache.org/viewvc/velocity/engine/branches/1.x/experimental/templatetool/
這里有一些討論和想法可以解決這個問題。 首選選項基本上是為模板的生成的AST實現walker。 不平凡。
我認為沒有覆蓋某些速度類的簡單方法就可以了。
這是我的一些選擇:
<!--%%__VARS__%%users,latest%%__VARS__%%-->
如果您不記得它了,我就找到了這支襯板(另存為片段)。
## #foreach($key in $context.keys) <pre> $key</pre> #end
希望能幫助到你 ...
哦,刪除注釋中的##
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.