速度模板 - "#foreach"循环中无"#break"



我正在做一些关于Velocity模板语法的简短阅读。具体来说,我正在尝试创建由模板引擎有条件地呈现的内容。更具体地说,我想检查Confluence实例中的用户权限组,返回一组组名,然后根据他们当前权限级别需要访问的内容有条件地呈现内容(例如菜单项(。

我读到没有"#break"指令,这对我来说似乎很可笑,所以我开始在我的模板代码中测试"#break"的使用。我最终得到的是:

#foreach ($group in $groupList)
#if (
$group == "administrators" ||
$group == "group-1" ||
$group == "group-2" ||
$group == "group-3" ||
$group == "group-4" ||
$group == "group-5" ||
$group == "group-6" 
)
<a href='<redacted link>'><li data-balloon-length="fit" data-balloon="View 
your agreements with us, e.g. your customer agreement, or our SLA's" data- 
balloon-pos="down">
<i class="fas fa-shower"></i>
<p>
Hygiene
</p>
</li></a>
#break
#else
<a href='<redacted link>'><li class="no-permissions" data-balloon-length="fit" 
data-balloon="You have insufficient privileges to view this page" data- 
balloon-pos="down">
<i class="fas fa-shower"></i>
<p>
Hygiene
</p>
</li></a>
#break
#end
#end

我对Velocity模板非常陌生,最近才练习了几个月。我看到了能够有条件地呈现内容的一些巨大优势,而不是例如使用JS或jQuery进行后处理。

我的问题是,我这样做对吗?因为从我读到的内容来看,#break并不存在(也许是我找到的旧文档,不确定(。

此外,一个直接的问题是,#break指令是否存在于Apache Velocity模板中?

我想指出的是,这段代码只需最少的测试,任何组都可以正确识别,没有特定的顺序,它只会呈现一个或另一个列表项,而不管组的顺序如何。

对不起,我的论文是一个问题!提前感谢您的意见。

Velocity 1.6中引入了#break指令。

查看不同版本的文档很容易。

相关内容

  • 没有找到相关文章

最新更新