내가보기 컨트롤러에서의 HashMap를 보내고있다이다 :의 HashMap 컨트롤러의 String 객체
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에 돌려 보내는있을 때 테이블 헤더에 사용자가 클릭 :
0 :def map = params
<g:sortableColumn property="id" title="Id" class="td-id-class subpage-td" params="['searchParams':searchParams]"/>
나는 플래그가 여기에 설정되어 디버거에서 값을 확인하고 있습니다
값은 다음과 같습니다
searchParams={id=, title=, domain=, orderOfSubpage=}
나는이 이미 문자열 인 '지도'에서 값을 얻으려고 : I는 다시 받고 있어요
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입니다. 변환/캐스트를 문자열에 매핑하는 이유는 무엇입니까?
질문 : 컨트롤러로 다시 전송 된 객체가 String이거나 적어도 String과 같은 역할을하는 이유는 무엇입니까? http://grails.org/doc/latest/ref/Tags/sortableColumn.html에서