【问题标题】:How to reference a grails map instance in a GSP using a variable如何使用变量在 GSP 中引用 grails 映射实例
【发布时间】:2011-08-13 18:06:38
【问题描述】:

我将名为 GrossScores 的地图传递到 GSP 中,并且需要使用 GSP 中的另一个变量来引用地图的各个实例。例如,

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}")}

有什么建议吗?

【问题讨论】:

    标签: grails map params gsp


    【解决方案1】:

    试试:

    ${grossScores.get(player)}
    

    假设地图的名称是 GrossScores,就像您的问题一样。

    【讨论】:

      【解决方案2】:

      您在第一次尝试时放错了 $ 符号。也可以引用如下值:

      ${grossScore."${player}"}
      

      但是请注意,如果您在 grails 标记的属性中使用此构造,则此解决方案会产生问题,例如:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-19
        • 1970-01-01
        • 2012-11-11
        • 2014-03-18
        相关资源
        最近更新 更多