2

我目前需要编写一些 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>
4

2 回答 2

3

不是 100% 肯定,但我认为它应该#break代替#{break}.

此外,#break仅在 1.6 版(请参阅此处)上添加了对的支持,因此如果您使用的是以前的版本,我猜它可能只是将其打印为内容。

于 2013-02-20T15:23:31.680 回答
0

我终于找到了解决方案。由于之前的 pom.xml 问题,我们的 Tomcat 服务器的 lib 目录中有 2 个 Velocity jar。第一个用于 1.5 版,第二个用于 1.7。并且Tomcat可能加载了1.5版本,因此无法正常工作。

奇怪的是:如果我在 condition 中用 10 替换 4 #if ($velocityCount > 4),我在代码中的另一个地方这样做,即使使用 1.5 版本,它也能完美运行。我还是不明白为什么...

于 2013-02-20T16:40:16.177 回答