Это довольно простая проблема, и я уверен, что делаю что-то неправильно или делаю некоторые предположения. Вот оно.Как распечатать список объектов в шаблоне Velocity?
Я пишу плагин Jira, в котором используется система шаблонов Velocity. У меня есть список объектов ResultRow где ResultRow представляет собой класс с одной переменной члена: String ключ:
public class ResultRow {
public String key;
}
У меня есть список этих ResultRows:
List<ResultRow> rows = new ArrayList<ResultRow>();
ResultRow row = new ResultRow();
row.key = "foo";
rows.add(foo);
Map<String, Object> velocityParams = new HashMap<String, Object>();
velocityParams.put("rows", rows);
return descriptor.getHtml("view", velocityParams);
и я пытаюсь перечислить их строки в шаблоне со следующим:
#foreach ($row in $rows)
<tr><td>$row.key</td></tr>
#end
Я хочу, чтобы выход был: foo. Безумно, система шаблонов просто печатает буквальную строку «$ row.key» вместо содержимого ключа. Для того, чтобы убедиться в том, что «$ строка» действительно является объектом, я использовал шаблон:
#foreach ($row in $rows)
<tr><td>$row</td></tr>
#end
и результат был, как и ожидалось: [email protected]
Думаю, может быть, мне не хватает некоторых требований к классу. Нужно ли каким-то особым образом определять скорость, чтобы некоторые члены могли использоваться в шаблонах? Использует ли Jira специальную фанк-версию Velocity, которая работает только с определенными объектами?