在Velocity上下文中添加映射的位置?

时间:2014-03-04 18:25:56

标签: jira velocity

经过一番挖掘后,我发现Velocity Context是一个映射(Keys - &gt; Value)。现在我想在Velocity Context中创建一个新的变量(或一个新的映射),这样我就可以访问它。* .vm文件,就像我可以访问这里提到的Default Velocity上下文变量一样https://developer.atlassian.com/display/JIRADEV/Velocity+Context+for+Email+Templates < / p>

我知道我需要做这样的事情
VelocityParams.put(“commentManager”,ComponentManager.getInstance()。getCommentManager());

我的问题是在哪里添加这个? (即:Velocity Context初始化的地方?)

1 个答案:

答案 0 :(得分:0)

是的,为了能够以速度使用某些服务,您需要将其传递给模板。最好的地方就是在显示模板之前。 您可以使用:

org.apache.velocity.VelocityContext params = new VelocityContext(com.atlassian.jira.util.JiraVelocityUtils.getDefaultVelocityParams(authenticationContext));

或者如果您只需要Map:

Map<String, Object> params = JiraVelocityUtils.getDefaultVelocityParams(authenticationContext);

JIRA身份验证上下文是自动装配的类com.atlassian.jira.security.JiraAuthenticationContext