将其作为模型传递以在 grails 中查看时的映射问题
Posted
技术标签:
【中文标题】将其作为模型传递以在 grails 中查看时的映射问题【英文标题】:Map problem when passing it as model to view in grails 【发布时间】:2010-03-27 00:13:12 【问题描述】:在控制器中,我填充了一个以字符串为键、以列表为值的映射;在 gsp 中,我尝试像这样展示它们:
<g:each in="$sector" var="entry" >
<br/>$entry.key<br/>
<g:each in="$entry.value" var="item" >
$item.name<br/>
</g:each>
</g:each>
问题是项目被认为是字符串,所以我得到了异常
Error 500: Error evaluating expression [item.name] on line [11]:
groovy.lang.MissingPropertyException: No such property: name for class:
java.lang.String
除了在 gsp 中明确地查找项目之外,关于如何修复它的任何提示?
【问题讨论】:
你确定你的代码是正确的吗?抛出的异常是“No such property: nombre for class..”。什么是名词?如需更多信息以帮助您,您能否打印出 $item 的结果? 对不起,我混合了版本,但错误是一样的 @fabien7474: nombre 是西班牙语的名字 这样做,打印出扇区,打印出项目……看起来扇区构建时,并不是你想象的那样。 【参考方案1】:我做了对我来说很好用的 poc
class Item String name
List items = [new Item(name:"laptop" , 新项目(名称:“鼠标”)]
地图扇区=[:]
sector.manager = 项目
sector.manager.eachitem->
println item.name
即使它不起作用,尝试将地图扇区声明为
Map
>扇区=[:]
【讨论】:
感谢您的回答,但问题发生在带有 gsp 标签的视图中,而不是在控制器中。以上是关于将其作为模型传递以在 grails 中查看时的映射问题的主要内容,如果未能解决你的问题,请参考以下文章