【发布时间】:2025-12-07 10:40:01
【问题描述】:
我正在做一些关于 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 模板中?
我想指出,此代码只需最少的测试即可工作,任何被正确识别的组都没有特定的顺序,它只会呈现一个列表项或另一个,无论组的顺序如何。
抱歉论文的问题!并提前感谢您的意见。
【问题讨论】:
标签: jquery html css apache velocity