如何在Grails中对域属性进行变量插值?

时间:2017-06-02 20:33:06

标签: variables grails dns

我是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,其中包含我想要的月份名称。

2 个答案:

答案 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)