我的某个控制器中有一个带编码的值
public regions = ['code1','code2']
现在必须从config.groovy
文件
我尝试在config.groovy
中定义: -
region = "code1,code2"
: -
def aws = grailsApplication.config.awsRegions;
public awsRegions = aws.split(",")
但它不起作用。
答案 0 :(得分:4)
在Config.groovy中你可以这样做:
awsRegions = ['Region 1', 'Region 2']
然后在您的控制器中,您可以:
def awsRegions = grailsApplication.config.awsRegions
您的更改不适用于Sathish Kumar的评论,因为您在Config.groovy中将您的财产称为“awsRegion”并使用“grailsApplicatio.config.awsRegion s ”访问它。密钥必须匹配。
答案 1 :(得分:0)
1
public regions = ['code1','code2']
应该不是
public List regions = ['code1','code2']
or
public List<String> regions = ['code1','code2']
在groovy / grails的世界中public
不是必需的,只要它不是静态变量
2
def aws = grailsApplication.config.awsRegions;
public awsRegions = aws.split(",")
如有疑问:
def aws = grailsApplication.config.awsRegions;
println "aws is ${aws} object class is ${aws.getClass()}"
你应该发现println已经在List中返回[element,e2,e3]。 getClass()
的东西会告诉你它实际上是什么,所以你应该发现它已经是一个列表而且不需要你在扁平字符串上做的额外拆分