Я сделал быструю проверку, и это, кажется, из-за нулевого значения в вашем ArrayList.
Для ArrayList, заполненного как показано ниже -
ArrayList list=new ArrayList();
list.add("try");
list.add("to");
list.add("figure");
list.add("it");
и с кодом скорости, как показано ниже -
#foreach($iter in $list)
$!iter
#set($list_str=$!list_str+$!iter+",")
#end
$!list_str
Я получаю следующий вывод -
try
to
figure
it
try,to,figure,it,
что, как и ожидалось,
Теперь, когда я заполняю свой Arraylist следующим образом -
ArrayList list=new ArrayList();
list.add("try");
list.add("to");
list.add("figure");
list.add("it");
list.add(null);
и с тем же кодом скорости, что и выше, я получаю следующий вывод -
try
to
figure
it
try,to,figure,it,$!iter,
Итак, я предполагаю, что вам нужно добавить нулевую проверку где-то в вашем коде, чтобы избежать этого.
Спасибо
P1nG
PS: Как отметил @Thilo, я не уверен, откуда взяты скобки, не уверен, что это желаемое поведение.