Выражение не работает в stringTemplate

Привет, я использую StringTemplate версии 3.2.1 и Java.

Я передаю ArrayList на Stringtemplate, но он не поднимается. Я хочу перебрать массив в зависимости от количества значений.

ArrayList<Integer> test = new ArrayList<Integer>();

test.add(12334435);
test.add(12334436);
...
StringTemplate sysProperties = new StringTemplateGroup("group","locationOfTemplate").getInstanceOf("templateName");
sysProperties.setAttribute("system", "test");

(Это будет работать)

sysProperties.setAttribute("n", test);

(Но он, кажется, игнорирует arrayList, который передается внутрь. Поэтому в зависимости от количества значений в массиве, я хочу динамически построить xml)

StringTemplate в файле:

<data>
$if(test)$
$test:{ n |
<value>
<string>$n$</string>
</value>}$
$endif$
</data>

Любая помощь с этим будет принята с благодарностью. Заранее спасибо.

1 ответ

Решение

Кажется, вы используете синтаксис ST4 в ST3

$test:{ **n|**<-- You should use 'it' attribute to iterate - "The iterated it atribute is
set automatically" 

источник

Другие вопросы по тегам