grails中的ArrayList和Map问题

时间:2010-04-12 16:14:06

标签: exception grails arrays map

我有一个包含地图的服务:

static Map cargosMap = ['1':'item1','2':'item 2','3':'item 3']

通过服务中的方法返回:

 static Map getCargos() {
    [cargosMap]
 }

控制器像这样调用它:

def mform = {

    Map cargos = empService.getCargos()

    [cargos:cargos]
}

在gsp中,我有选择:

<g:select name="cg1" from="${cargos}" />

但我得到了例外:

 Error 500: Executing action  ....caused exception: 
   org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object
   ...  
   with class 'java.util.ArrayList' to class 
  'java.util.Map'

任何线索?感谢

1 个答案:

答案 0 :(得分:3)

在我看来,就像你将地图包装在getCargos()的ArrayList中一样。为什么不:static getCargos() { cargosMap }。或者,更好的是,只需将cargosMap重命名为cargos,Groovy就会为您创建吸气剂。