我目前需要编写一些Velocity代码,这对我来说是新的。但现在,我得到了一个奇怪的错误。而不是让我当前的#foreach循环,#break语句显示为内容。这是我的代码:
<div id="posterWall2" class="bloc_home" style="float:left; width:758px; height:368px; margin:20px 0px 0px 0px;">
<p class="titre">Salons Professionels</p>
<ul class="list_salonspros">
#if($postersSmall&&$postersSmall.size()>0)
#foreach($content in $postersSmall)
#if ($velocityCount > 4)
##this break is not working!
#{break}
#end
<li>
<a href="$content.manifURL"><div style="width:172px; height:240px;"><img style="max-width:100%; max-height:100%;" src="$content.afficheURL"></div>
</a>
</li>
#end
#end
</ul>
<a class="btnspectacles" href="#">Spectacles</a>
</div>
答案 0 :(得分:3)
不是100%肯定,但我认为它应该是 #break
而不是#{break}
。
此外,仅在版本1.6(see here)上添加了对#break
的支持,因此如果您使用以前的版本,我猜它可能只是将其打印为内容。
答案 1 :(得分:0)
我终于找到了解决方案。由于之前的pom.xml问题,我们在Tomcat服务器的lib目录中有2个Velocity jar。第一个用于1.5版,第二个用于1.7版。并且Tomcat可能加载了1.5版本,因此它无法正常工作。
奇怪的是:如果我在条件#if ($velocityCount > 4)
中将4替换为10,我在代码中的另一个位置执行,即使使用1.5版本,它也能完美运行。我仍然不明白为什么......