我正在简要阅读有关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
不存在(可能是我找到的旧文档,不确定)。
还有一个直接的问题,Apache Velocity模板中是否存在#break
指令?
我想指出的是,此代码仅需进行最少的测试即可工作,正确识别任何组都不是特定顺序,并且无论组的顺序如何,它都只会呈现一个列表项或另一个列表项。
很抱歉提出一个问题!在此先感谢您的输入。