如何使用Freemarker与过滤资源?2022世界杯阿根廷预选赛赛程
Freemarker是一个基于Java的模板引擎,一个基于模板生成文本输出(从HTML到自动生成源代码)的通用工具。它是一个Java包,一个面向Java程序员的类库。
的过滤后的资源2022世界杯阿根廷预选赛赛程附加组件(在Artifactory 2.3.3版中引入)允许将任何文本文件作为过滤资源处理,方法是将其作为一个FreeMarker模板。
使用FreeMarker和Artifactory上的过滤资源,您可以创建“动态XML文件”,该文件将根据不同的参数从Artifactory下载。一个示例用例可能是组织中不同组的不同自述文件。
第一个示例是创建一个显示组名的动态文件。
在这种情况下我们可以用getCurrentUserGroupNames()函数。
创建一个新的xml文件并插入以下代码:
<服务器>
<#list security.getCurrentUserGroupNames() as groupName>hello ${groupName} #list> . getcurrentusergroupnames (
> < /服务器
将这个XML文件部署到Artifactory,不要忘记检查过滤字段:
然后尝试下载并打开它。Artifactory将根据登录的用户设置groups参数的值。
现在,如果我们尝试从不同组的另一个用户登录并下载文件,内容将会不同:
另一个例子是布尔函数isAdmin().我们可以使用if语句的一部分来动态设置过滤资源的内容,如下面的例子所示:
<服务器>
<#if !security.isAdmin()>False,此用户不是Admin用户<#else>True,此用户是Admin用户#if>
> < /服务器
当以非admin用户登录并下载文件时,我们将获得以下内容:
或者,当使用admin用户登录时,我们会得到以下内容: