gpt4 book ai didi

java - 乘法运算在速度模板中不起作用

转载 作者:行者123 更新时间:2023-12-02 12:04:21 26 4
gpt4 key购买 nike

我的速度版本是 1.7 变量的乘法在我的 vm 文件中不起作用

foreach( $entry in ${ctx.order.entries} )

#if(${entry.quantity})
#set ($pQty = ${entry.quantity})
#end
#if(${entry.product.weight})
#set ($prodWeight = ${entry.product.weight})
#end
#if(${pQty} && ${prodWeight})
#set ($totalWeight = $pQty * $prodWeight)
#else
#set ($totalWeight = 0)
#end
<tr class="border_bottom table_data">
<td>${pQty }</td>
<td>${prodWeight}</td>
<td>${totalWeight}</td>

输出为 11 1.0 ${totalWeight}

totalWeight 值未显示。

如果我输入像 11*1.0 这样的硬编码值,那么它的计算正确,但当我使用 $totalWeight = $pQty * $prodWeight 时无法计算

如果您能在这方面帮助我,我将不胜感激。

谢谢

最佳答案

您的一个或两个引用必须是字符串而不是数字。您可以通过显示 $pQty.class.name$prodWeight.class.name 进行检查。

Velocity 1.7 不执行任何从字符串到数字的隐式转换。

要正确执行此操作,您可以:

  • 升级到 Velocity 2.0,它可以处理此类隐式转换
  • 确保 $pQty 和 $prodWeight 是调用代码中的数字
  • 添加MathTool (或者您自己做同样事情的任何普通 Java 对象)到 Velocity 上下文:

    #set($pQty = $math.toNumber($pQty))
    #set($prodWeight = $math.toNumber($prodWeight))

关于java - 乘法运算在速度模板中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47014672/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com