Скорость имеетСледующий метод

Я пытаюсь вызвать метод hasNext в шаблоне Velocity, чтобы повлиять на поведение, основанное на позиции в цикле foreach - только hasNext не работает, как задокументировано.

Вот фрагмент из руководства пользователя Velocity по использованию hasNext:

Velocity также теперь предоставляет простой способ определить, находитесь ли вы на последней итерации цикла:

#foreach( $customer in $customerList )
  $customer.Name#if( $foreach.hasNext ),#end
#end

Вот моя версия:

#foreach ($nav_item in $priNavItems)
  ...
  #if ( $foreach.hasNext )
    <img alt="" class="dive" src="/olp-theme/images/custom/dive.png">
  #end
#end

Кому-нибудь удалось вызвать этот метод в цикле #foreach в шаблоне Velocity? Возможно, под другим именем (например, $velocityCount для счета)?

Любые / все советы и / или направления приветствуются - спасибо!


person Chris Becker    schedule 17.10.2011    source источник
comment
Какую версию скорости вы используете?   -  person serg    schedule 17.10.2011
comment
я не вижу такого вызова метода в документах: velocity.apache.org/engine/devel/ ! так в чем ошибка, которую вы видите? есть $foreach.count, и я предполагаю, что это простая обратная ссылка на итератор в цикле, чтобы вы могли вызвать для него hasNext.   -  person phoet    schedule 17.10.2011
comment
Используемая версия Velocity — 1.6.3 (из манифеста), она встроена в кодовую базу платформы портала с открытым исходным кодом Liferay. Онлайн-документы по скорости ссылаются на метод hasNext здесь: velocity.apache .org/engine/devel/user-guide.html#Циклы   -  person Chris Becker    schedule 18.10.2011


Ответы (1)


Это не поддерживается в Velocity 1.6.3; функциональность $foreach.hasNext обеспечивается классом ForeachScope версии 1.7+ (документы).

Онлайн-документы относятся к текущей версии; при работе с более ранними версиями вам необходимо обратиться к документации этой конкретной версии.

person Dave Newton    schedule 18.10.2011