【问题标题】:Grails error when attempting to divide variables in GSP尝试在 GSP 中划分变量时出现 Grails 错误
【发布时间】:2014-09-16 17:08:14
【问题描述】:

我有一个页面,我试图在其中划分两个变量并将结果设置为一个新变量。我可以对它们进行加、减和乘,但如果我尝试对它们进行除法,我会收到一条错误消息,提示“除法未定义”。

我正在获取现有变量(totalProgressGoal 和 totalPrincGoal),从数据库中获取值,然后将它们添加到变量中。

<g:set var="gain01" value="${pdd?.dataValue}" />
<g:set var="goal01" value="${pdd?.groupGoal.goalValue}" />
<g:set var="totalProgressGoal" value="${totalProgressGoal + gain01}" />
<g:set var="totalPrincGoal" value="${totalPrincGoal + goal01}" />

如果我尝试获取更新后的变量并对其进行划分,则会出现错误。

<g:set var="goalSuccessRatio" value="${totalProgressGoal / totalPrincGoal}"/>

将“/”替换为任何其他运算符都可以,如果我将 totalProgressGoal 和 totalPrincGoal 设置为数值,则它可以工作。我需要做什么来划分这些值?

澄清:上面的变量设置为整数:

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

【问题讨论】:

  • 这两个变量的类是什么?他们是LongStringint,什么?
  • intInteger?你真的需要检查一下。问题是其中一个不是你认为的数学课。

标签: grails gsp


【解决方案1】:

我怀疑这些变量实际上不是您声称的Integer 类型。是否将它们转换为Integer 工作,例如

<g:set var="goalSuccessRatio" 
       value="${(Integer) totalProgressGoal / (Integer) totalPrincGoal}"/>

【讨论】:

  • 我认为您对变量的看法是正确的,这也是 Joshua 上面的建议。不过我尝试了你的建议,但我仍然得到同样的错误。
猜你喜欢
  • 2017-04-04
  • 1970-01-01
  • 1970-01-01
  • 2020-09-26
  • 2021-04-17
  • 2020-11-24
  • 1970-01-01
  • 2022-06-21
  • 2015-08-17
相关资源
最近更新 更多