Скорость: динамическое прерывание цикла foreach - PullRequest
0 голосов
/ 14 декабря 2018

Мне нужно реализовать решение в Velocity для разрыва цикла foreach в элементе forelast массива.С API я пришел, чтобы построить это, но я не вырвался и по-прежнему показывает все строки цикла.У кого-нибудь есть лучший или рабочий подход для меня?

«#if($special)»
  «#foreach($item in $sum)»
    «#if($foreach.hasNext==false)» «#break» «#end»
    «do special stuff» 
  «#end»
«#else»
  «#foreach($item in $sum)»
    «do normal stuff»
  «#end»
«#end»

1 Ответ

0 голосов
/ 15 декабря 2018
#if(!$foreach.hasNext) #break #end

или

#if($foreach.hasNext == false) #break #end

должны работать на Velocity 1.7+.Если у вас есть какие-то сомнения по этому поводу, вы можете отобразить

$foreach.hasNext

в цикле и проверить, что он печатает true true true ... false.

Для предыдущих версий Velocity вам придется это сделатьсебя:

#set($count = $num.size())
#foreach($item in $num)
  #if($velocityCount < $count)
    ...
  #end
#end

Обратите внимание, что переменная $velocityCount (которая устарела в 1.7 и исчезла в 2.0) начинается с 1.

...