在 FTL 中使用 ?string("0.00") 时出错
Error when using ?string("0.00") in FTL
在我的 FTL 文件中使用 ?string("0.00") 时出现以下错误,如下所示
${currency}${discount?string("0.00")}
discount 是 BigDecimal 类型,来自我的 java 代码。
2017-02-16 10:48:08.481 [http-nio-80-exec-3] ERROR freemarker.runtime - Template processing error: "Expected method. discount?string evaluated instead to freemarker.template.SimpleScalar on line 56, column 154 in WEB-INF/views/abc/abc-result.ftl."
freemarker.template.TemplateException: Expected method. discount?string evaluated instead to freemarker.template.SimpleScalar on line 56, column 154 in WEB-INF/views/abc/abc-result.ftl.
at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:136) ~[freemarker-2.3.19.jar:2.3.19]
at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:114) ~[freemarker-2.3.19.jar:2.3.19]
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) ~[freemarker-2.3.19.jar:2.3.19]
at freemarker.core.Expression.getStringValue(Expression.java:93) ~[freemarker-2.3.19.jar:2.3.19]
我正好修好了。我将其更改为 ${currency}${discount?number?string("0.00")} 我从 java 端传递 BigDecimal 但不确定为什么我需要再次转换为数字
在我的 FTL 文件中使用 ?string("0.00") 时出现以下错误,如下所示
${currency}${discount?string("0.00")}
discount 是 BigDecimal 类型,来自我的 java 代码。
2017-02-16 10:48:08.481 [http-nio-80-exec-3] ERROR freemarker.runtime - Template processing error: "Expected method. discount?string evaluated instead to freemarker.template.SimpleScalar on line 56, column 154 in WEB-INF/views/abc/abc-result.ftl." freemarker.template.TemplateException: Expected method. discount?string evaluated instead to freemarker.template.SimpleScalar on line 56, column 154 in WEB-INF/views/abc/abc-result.ftl. at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:136) ~[freemarker-2.3.19.jar:2.3.19] at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:114) ~[freemarker-2.3.19.jar:2.3.19] at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) ~[freemarker-2.3.19.jar:2.3.19] at freemarker.core.Expression.getStringValue(Expression.java:93) ~[freemarker-2.3.19.jar:2.3.19]
我正好修好了。我将其更改为 ${currency}${discount?number?string("0.00")} 我从 java 端传递 BigDecimal 但不确定为什么我需要再次转换为数字