Я просто googled для "for loop", но похоже, что скорость имеет только "foreach".
Как использовать "для цикла" в шаблоне скорости?
Я просто googled для "for loop", но похоже, что скорость имеет только "foreach".
Как использовать "для цикла" в шаблоне скорости?
Там только #foreach
. Вам нужно будет сделать что-то итерабельное в вашем контексте. Например. сделать bar
доступным, чтобы массив или Collection
некорректного:
#foreach ($foo in $bar)
$foo
#end
Или если вы хотите выполнить итерацию по диапазону чисел:
#foreach ($number in [1..34])
$number
#end
Требуется добавить, что информацию об итерации внутри цикла foreach можно получить из специального свойства $foreach
:
#foreach ($foo in $bar)
count: $foreach.count
index: $foreach.index
first: $foreach.first
last: $foreach.last
#end
(последний раз, когда я проверил last
, содержал ошибку, хотя)
Я нашел решение, когда пытался создать список. Поместите список в другой класс и создайте getter и setter для списка obj. например,
public class ExtraClass {
ArrayList userList = null;
public ExtraClass(List l) {
userList = (ArrayList) l;
}
public ArrayList getUserList() {
return userList;
}
public void setUserList(ArrayList userList) {
this.userList = userList;
}
}
Затем для контекста скорости поставьте Extraclass в качестве входного. например.
ExtraClass e = new ExtraClass(your list);
VelocityContext context = new VelocityContext();
context.put( "data", e); Внутри шаблона
#foreach ($x in $data.userList)
$x.fieldname //here $x is the actual obj inside the list
#end
Este Examplelo é Bem Bacana: Баста во вре
Userinfo.vm
User Details
------------
#foreach ($userName in $userList)
Name is. $userName
#end
Выход
User Details
------------
Name is. Bala
Name is. Arun
Name is. Chinna
Name is. Vijay