Я посылаю HashMap от контроллера для просмотра: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 всегда является списком. Почему Map преобразует/отбрасывает строку?
Вопрос: Почему объект, отправленный обратно контроллеру, является строкой или, по крайней мере, действует как строка?