2011-08-13 38 views
2

我将名为grossScores的映射传递给GSP,并需要使用GSP中的另一个变量引用映射的各个实例。例如,如何使用变量在GSP中引用grails映射实例

grossScore.Bob = 5 

张贴How to reference a grails GSP model variable indirectly e.g. via .get(...)是有益的,但我仍然无法到达那里。

我已经试过:

${grossScore."{$player}"} 
${pageScope.getProperty("grossScore.${player}")} 
${request.getAttribute("grossScore.${player}")} 

有什么建议?

回答

5

尝试:

${grossScores.get(player)} 

假设地图的名称是grossScores,如你的问题。

+0

完美,谢谢 – SeattleStephens

0

您在第一次尝试中放错了$ -symbol。也可以参考价值,如:

${grossScore."${player}"} 

但是请注意,这个解决方案将产生问题,如果你使用一个Grails标签的属性中的这个结构,如:

<g:set var="playerScores" value="${grossScore."${player}"}" /> 

将不会工作,并且playerScores不会被设置。但是,根本没有显示任何语法错误,该属性被忽略。这可能会导致很多混淆。如果你想使用这种写作,那么你需要使用不同的引号:

<g:set var="playerScores" value='${grossScore."${player}"}' />