Как использовать цикл for в шаблоне скорости?

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

var K = -1;
for (var i = myNode.parent.childNodes.length; i >= 0; i--)
{
    if (myNode.parent.childNodes[i] === myNode)
    {
        K = i;
        break;
    }
}

if (K == -1)
    alert('Not found?!');
23
задан Moon 16 April 2011 в 00:44
поделиться

2 ответа

Там только #foreach. Вы должны будете поместить что-то итеративное в ваш контекст. Например. сделайте bar доступным, это массив или Collection некоторого вида:

#foreach ($foo in $bar)
    $foo
#end

Или, если вы хотите выполнить итерацию по диапазону чисел:

#foreach ($number in [1..34])
    $number
#end
34
ответ дан 29 November 2019 в 00:48
поделиться

Я нашел решение, когда пытался зациклить список. Поместите список в другой класс и создайте 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 («данные», e); В шаблоне

#foreach ($x in $data.userList)
        $x.fieldname    //here $x is the actual obj inside the list
    #end
6
ответ дан 29 November 2019 в 00:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: