【发布时间】:2013-02-06 09:25:55
【问题描述】:
-
我正在将 HashMap 从控制器发送到视图:
def list2 = [id:params?.id, title:params?.title, domain:params?.domain, orderOfSubpage:params?.orderOfSubpage] render(view: "list", model: [subpageInstanceList: list, subpageInstanceTotal: list.getTotalCount(), searchParams:list2]) -
当用户点击表头时,我会将这个 HashMap 发送回控制器:
<g:sortableColumn property="id" title="Id" class="td-id-class subpage-td" params="['searchParams':searchParams]"/> -
我正在调试器中检查此处设置标志的值:
def map = params值为:
searchParams={id=, title=, domain=, orderOfSubpage=} -
我正在尝试从这个已经是字符串的“地图”中获取值:
def map2 = params?.searchParams def id = map2?.id //here is an Exception (checked in debugger) -
我回来的例外是:
Class groovy.lang.MissingPropertyException Message No such property: id for class: java.lang.String
当我用 ArrayList 做同样的事情时没有问题,一切正常,List 始终是 List。为什么 Map 转换/转换为字符串?
问题: 为什么返回给控制器的对象是字符串或至少表现得像字符串?
【问题讨论】:
标签: grails