这里的这个例子来自 grails 文档:
def emeaCriteria = {
eq "region", "EMEA"
}
def results = Airport.withCriteria {
emeaCriteria.delegate = delegate
emeaCriteria()
flights {
like "number", "BA%"
}
}
我的网页正在传回一组复选框,返回行 ID。所以服务器得到的是:
ethnicity:[1, 4]
或者如果用户只选择一个种族:
ethnicity:4
def criteria = { params ->
//handle case where only one ethnicity is returned as just a string, not a list of strings
def list = params.ethnicty instanceof String ? [params.ethnicty] : params.ethnicity
if (list) {
inList('ethnicity', list)
}
}
我收到一个错误:java.lang.String 无法转换为 java.lang.Enum。
如果我没有清单,我想我可以弄清楚。参数正在发送回字符串值,它们需要转换为枚举类。但是在闭包中,如何将每个条目转换为枚举列表?