def results = {
def results = [:]
def conferences = Conference.list() // lista das conferencias
String [] conf_origin // array de strings da indexação da classe
String [] conf_search = params.conferenceName.split() // array de strings palavras da pesquisa
boolean test // teste double for
conferences.each{
conf_origin = "hi i'm john".split() // indexação
//conf_origin = "aveiroa".split()
OUTER: for(int i = 0; i< conf_origin.length; i++){
for(int j = 0; j< conf_search.length; j++) {
if(conf_origin[i] == conf_search[j]){
test = true
results.put(it.id, it)
break OUTER;
}
}
}
}
return [results : results]
}
嘿,我有这个问题。如果我返回:“[conferences: session ]”,我的gsp将成功执行我想要的操作。备选,当我返回“[results:results]”(这是一张经过过滤的 session map )时,将显示以下错误,并且我无法弄清原因:
Exception Message: No such property: yearCount for class: java.util.LinkedHashMap$Entry
PS。基本上,我有
String [] conf_origin --->这是一个由单词组成的String数组
字符串[] conf_search --->,它是搜索栏中引入的单词的字符串数组。
然后我比较两个数组,如果有一个匹配项,则打破for并将该 session 对象添加到结果中。
最佳答案
conferences
是List
(属于Conference
,但在Groovy中未键入),而results
是Map
。您需要:
List
的Conference
[conferences: results.values()]
Map
。 请注意,
conferences
是GSP代码所依赖的变量名。