在GSP页面中使用g:每个标签并使用不同的URLS构建图像的迭代表(PedaTechList)。问题是,在为下面的assign构建pedaTechList时,我总是得到"${ped.id}“的第一个元素。代码片段如下所示。请帮助解决此问题。
<g:each in="${pedaTechList}" var="ped" >
<div class="imgblock">
<img style="height: 130px;" src="${resource(dir: 'images', file: 'unfav-unchecked.png')}" alt="Criteria" usemap="#p_icons" />
<div class="smallblackarea">
<map name="p_icons">
<area shape="rect" coords="0,0,18,18" href="${createLink(controller: 'pedagogy', action: 'reloadPedagogyTab', id: imod?.id, params: [objectiveId: params.objectiveId, fav:'true', assign:'false'])}" title="Favorite" alt="Favorite" />
**<area shape="rect" coords="90,0,126,24" href="${createLink(controller: 'pedagogy', action: 'reloadPedagogyTab', id: imod?.id, params: [objectiveId: params.objectiveId, pedtecID: "${ped.id}", fav:'false', assign:'true'])}" title="Assign" alt="Assign" />**
<area shape="rect" coords="90,90,200,200" href="http://www.google.com/" title="Clone" alt="Clone" />
</map>
${ped.pedagogyTitle}
</div>
</div>
</g:each>发布于 2014-04-20 22:41:52
这里有一个解释:http://blog.freeside.co/post/46587122020/groovy-gotcha-for-loops-and-closure-scope
Gstring包含闭包,在本例中稍后会对其求值。在您的示例中,可以将pedtecID:"${ ped.id }“替换为pedtecID: ped.id或pedtecID:"${ped.id}”作为字符串
https://stackoverflow.com/questions/23178518
复制相似问题