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

JFrog支持
2022-02-22第13章13节

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

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

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

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

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

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

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

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

用户添加图片

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

用户添加图片

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

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

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

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

用户添加图片

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

用户添加图片