我有一个gradle配置文件,其中包含键-值对中的配置。例如:
aws.codedeploy.FunctionalEC2TagKey = "functionalEC2TagKey1"
aws.codedeploy.CapacityEC2TagKey = "capacityEC2TagKey1"
我想在Freemarker端读取这个配置,并将值赋给变量。
但是,检索哪个键值是有条件的,并由一个免费标记变量"${stage.displayname}“驱动。
现在,假设- ${stage.displayname} = "Functional“,那么应该获取aws.codedeploy.FunctionalTagKey
所以,我想尝试的是
key = "${aws.codedeploy.${stage.dispalyname}EC2TagKey}"
并且它应该返回"functionalEC2TagKey1“
我试着调整它,就像,
EC2_TAG_KEY ='${' + "aws.codedeploy.${stage.displayName}EC2TagKey" + '}'
然后,
key = "${EC2_TAG_KEY}"
它的评估结果是
key = aws.codedeploy.FunctionalEC2TagKey
有人能帮我一下吗?
非常感谢,Swapnil
发布于 2019-06-13 04:35:05
这可以是${aws.codedeploy[stage.displayName + "EC2TagKey"]}
,或者等效的${aws.codedeploy["${stage.displayName}EC2TagKey"]}
,无论您喜欢哪一个。这是因为foo.bar
与foo["bar"]
相同,并且在[]
中可以有任何类型的表达式,而不仅仅是一个简单的字符串文字。
https://stackoverflow.com/questions/56566533
复制相似问题