grails gsp g:设置反问题

时间:2011-08-20 17:40:25

标签: grails gsp

我正在尝试使用Grails 1.3.7文档中的g:set示例来总结一组值,但它看起来像g:set将整数视为字符串。

$ {grossScore.score}的值为[5,5,4,4],而不是总数为18,总数为5544。

<g:set var="totalScore" value="0"/>
<g:each var="grossScore" in="${Score.findAllByScorecard(cardGross)}">
    <g:set var="totalScore" value="${totalScore + grossScore.score}"/>
</g:each>

2 个答案:

答案 0 :(得分:7)

另一种选择是确保totalScore是一个整数,如下所示:

<g:set var="totalScore" value="${0}"/>

我相信这会迫使totalScore成为一个整数,所以你不必担心连接而不是添加。

答案 1 :(得分:1)

如果你知道grossScore.score值是一个整数,你可以在你的补充中交换这两个:

<g:set var="totalScore" value="${grossScore.score + totalScore}"/>

通常,操作的左手确定操作的类型,假设存在这种操作。由于左边有totalScore,而且它只是一个Object(g:set的默认值),因此使用默认的Object.plus()操作,这与String非常相似。

如果你将grossScore.score放在左侧,那么它应该尝试使用Integer.plus(),它可以为你提供你想要的东西。

相关问题