我正在从控制器发送 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。为什么将转换/转换映射到字符串?
问题:为什么返回给控制器的对象是字符串或者至少表现得像字符串?