我有一个包含地图的服务:
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'
任何线索?感谢
答案 0 :(得分:3)
在我看来,就像你将地图包装在getCargos()
的ArrayList中一样。为什么不:static getCargos() { cargosMap }
。或者,更好的是,只需将cargosMap
重命名为cargos
,Groovy就会为您创建吸气剂。