GSP中的Grails access map变量,值周围有额外的括号
我在我的服务中创建了一个映射,它是从我的控制器调用的。我把这张地图交给普惠制。我需要将id存储到一个隐藏的变量中,但id以myId的形式出现=GSP中的Grails access map变量,值周围有额外的括号,grails,groovy,Grails,Groovy,我在我的服务中创建了一个映射,它是从我的控制器调用的。我把这张地图交给普惠制。我需要将id存储到一个隐藏的变量中,但id以myId的形式出现= [[20]] 为了生成唯一的名称和id,我需要将其与另一个字符串连接起来。因此,我只需要数字20。下面是服务返回到groupRef的内容 [[{myId=20, groups=[{groupId=33, gNames=[{name=Prime, show=true}]}]}]] <g:set var="myId" value="${groupR
[[20]]
为了生成唯一的名称和id,我需要将其与另一个字符串连接起来。因此,我只需要数字20。下面是服务返回到groupRef的内容
[[{myId=20, groups=[{groupId=33, gNames=[{name=Prime, show=true}]}]}]]
<g:set var="myId" value="${groupRef.myId}" />
[{myId=20,groups=[{groupId=33,gNames=[{name=Prime,show=true}]]
产生[[20]]
我怎样才能得到这个数字呢?从外观上看,你有一个列表,在一个列表中,在一个列表中,有多少个级别就有多少个[]括号对。试试这个:
<g:set var="myIdInside" value="myId[0][0]" />
并且,检查您的服务,看看您是否可以修改它返回的内容,以否定必须执行我刚才向您展示的操作。在我看来,这就像是地图列表的
toString
表示,因此您的myId
变量最终将作为数字列表(或字符串-toString
表示法不区分整数20
、长20L
和字符串“20”
)如果确实是这样,那么您可以尝试类似于groupRef.myId.flatte()的方法
,但更有效的方法可能是查看服务代码,找出为什么要将结果包装在两层列表中……好吧,为什么首先要有一个列表列表?