如何使用Freemarker与过滤资源?2022世界杯阿根廷预选赛赛程

JFrog支持
2023-01-22 11:05

Freemarker是一个基于Java的模板引擎,一个基于模板生成文本输出(从HTML到自动生成源代码)的通用工具。它是一个Java包,一个面向Java程序员的类库。

过滤后的资源2022世界杯阿根廷预选赛赛程附加组件(在Artifactory 2.3.3版中引入)允许将任何文本文件作为过滤资源处理,方法是将其作为一个FreeMarker模板。

使用FreeMarker和Artifactory上的过滤资源,您可以创建“动态XML文件”,该文件将根据不同的参数从Artifactory下载。一个示例用例可能是组织中不同组的不同自述文件。

第一个示例是创建一个显示组名的动态文件。

在这种情况下我们可以用getCurrentUserGroupNames()函数。

创建一个新的xml文件并插入以下代码:

<服务器>
<#list security.getCurrentUserGroupNames() as groupName>hello ${groupName} . getcurrentusergroupnames (
> < /服务器

将这个XML文件部署到Artifactory,不要忘记检查过滤字段:

用户添加图片

然后尝试下载并打开它。Artifactory将根据登录的用户设置groups参数的值。

用户添加图片

现在,如果我们尝试从不同组的另一个用户登录并下载文件,内容将会不同:
用户添加图片

另一个例子是布尔函数isAdmin().我们可以使用if语句的一部分来动态设置过滤资源的内容,如下面的例子所示:

<服务器>
<#if !security.isAdmin()>False,此用户不是Admin用户<#else>True,此用户是Admin用户
> < /服务器

当以非admin用户登录并下载文件时,我们将获得以下内容:

用户添加图片

或者,当使用admin用户登录时,我们会得到以下内容:

用户添加图片