2011-12-23 1 views
2

Я разрабатываю плагин для отображения дополнительной информации, связанной с проектом.Ввод параметров в контексте скорости в Jira 4.4

Так что я разрабатываю модуль панели вкладки проекта, но моя страница не отображает парафиры, которые я ввел в контекст скорости.

Вот часть плагина XML:

<project-tabpanel key="stats-tab-panel" name="Stats Tab Panel" i18n-name-key="stats-tab-panel.name" class="it.pride.jira.plugins.StatsTabPanel"> 
<description key="stats-tab-panel.description">The Stats Tab Panel Plugin</description> 
<label key="stats-tab-panel.label"></label> 
<order>10</order> 
<resource type="velocity" name="view" location="templates/tabpanels/stats-tab-panel.vm"/> 

Здесь вместо полезной часть моего класса:

public class StatsTabPanel extends GenericProjectTabPanel { 

public StatsTabPanel(JiraAuthenticationContext jiraAuthenticationContext, 
     FieldVisibilityManager fieldVisibilityManager) { 
    super(jiraAuthenticationContext, fieldVisibilityManager); 
    // TODO Auto-generated constructor stub 

} 


public String testvalue="112002"; 

@Override 
public boolean showPanel(BrowseContext context){ 
    return true; 
} 

@Override 
public Map<String, Object> createVelocityParams (BrowseContext context) { 
    Map<String, Object> contextMap = createVelocityParams(context); 
    contextMap.put("testvalue", testvalue); 
    return contextMap; 
} 

}

Так что, как в этом case, когда я пишу `$ testvalue в моем шаблоне номер не появляется.

Что я делаю неправильно?

ответ

1

Проблема заключается в том, что метод getHtml, который используется для возврата HTML для вкладки, имеет карту, которая является контекстом Velocity, но содержит только параметры в объекте BrowseContext. Способ исправить это - переопределить createVelocityParams в вашем классе, например.

protected Map createVelocityParams (final BrowseContext ctx) { Карта params = super.createVelocityParams (ctx); params.put ("myparam", "некоторое значение для него"); возвратные параметры; }

Проблема заключается в том, что метод защищен, поэтому я закончил также переопределять getHtml, который вызывает createVelocityParams в родительском классе.

Некоторые вкладки Project расширяют GenericProjectTabPanel, но некоторые из них, такие как SummaryProjectTabPanel.java, похоже, используют фрагменты пользовательского интерфейса. Я подозреваю, что Фрагменты - это то, к чему все движется.

 Смежные вопросы

  • Нет связанных вопросов^_^