我是Grails的新手,并且一直在研究在我从服务调用的域属性上进行变量插值。
My Domain看起来像这样:
var movies = context.Movies.Where(m => m.Title.Contains(term))
.Select(x => Mapper.Map<SearchResult>(x));
var actors = context.Actors.Where(m => m.Name.Contains(term))
.Select(x => Mapper.Map<SearchResult>(x));
var cinemas = context.Cinemas.Where(m => m.CompanyName.Contains(term))
.Select(x => Mapper.Map<SearchResult>(x));
var all = movies.Concat(actors).Concat(cinemas);
我正在尝试在我的MonthlyResult monthlyResult上执行此操作: monthlyResult。$ {} MONTHNAME 其中monthName是一个String,其中包含我想要的月份名称。
答案 0 :(得分:1)
您只需要添加双引号:
def monthName = 'january'
def monthlyResult = new MonthlyResult()
println monthlyResult."${monthName}"
输出:
0
答案 1 :(得分:1)
就像
一样简单map
此外,我宁愿在此类域类中使用class MonthlyResult {
Enum Month { january, february, .... }
Map<Month,Integer> months
}
,并使用某些枚举值键入:
(a,b)=(0,1)