2011-08-13 39 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}"}' />