2011-05-26 78 views
1
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] 
} 

嘿,我有這個問題。如果我回來:「[會議:會議]」我gsp成功地做我想做的事情。 Altought,當我返回「[結果:結果]」,這是suposelly會議的濾波地圖,則顯示如下因素錯誤,我不能弄明白爲什麼:Grails控制器錯誤

Exception Message: No such property: yearCount for class: java.util.LinkedHashMap$Entry 

PS。基本上,我有

字符串[] conf_origin --->這是詞語

的字符串數組字符串[] conf_search --->這是引入詞語的搜索欄的字符串數組。

然後我比較兩個陣列,如果有一個匹配,我打破並將該會議對象添加到結果。

+0

爲確保搜索成功完成,我特意在結果地圖中添加了一些會議以進行嘗試。結果是相同的,相同的錯誤,所以2x的外觀工作正常 – VictorArgentin 2011-05-26 12:48:54

回答

3

conferences是(的Conference,但它是無類型在Groovy)一ListresultsMap。你需要要麼:

  • 使它的Conference
  • 一個List或返回[conferences: results.values()]
  • 或調整GSP頁面來遍歷一個Map

請注意,conferences是您的GSP代碼依賴的變量名稱。