2011-08-13 11 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を最初の試行で間違って配置しました。あなたはGrailsのタグの属性の中に、この構文を使用している場合など、このソリューションが問題を作成すること、しかし、

${grossScore."${player}"} 

注:

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

次のように値を参照することも可能ですうまく動作せず、playerScoresは設定されません。しかし、構文エラーは全く表示されません。属性は無視されます。これは混乱を招く可能性があります。この種の文章を使用する場合は、別の引用符を使用する必要があります。

<g:set var="playerScores" value='${grossScore."${player}"}' /> 
関連する問題