【问题标题】:Thymeleaf expressions display in browserThymeleaf 表达式显示在浏览器中
【发布时间】:2016-09-28 04:27:31
【问题描述】:

我有一个 Web 应用程序,它使用 thymeleaf 表达式向用户显示各种数据。

<span th:inline="text" tabindex="-1">[[${#numbers.formatDecimal(userEditsModel.dollarAmount, 0, 'COMMA', 2, 'POINT')}]]</span>

而 userEditsModel 只是一个简单的 POJO:

public class UserEditsModel {
    private String dollarAmount;

    public String getDollarAmount() {
        return dollarAmount;
    }

    public void setDollarAmount(String dollarAmount) {
        this.dollarAmount = dollarAmount;
    }
}

这个特定的表达式在较低的环境中显示得很好。例如,像这样:

2,345.00

但现在代码已部署到更高的环境,并且显示未计算的百里香表达式:

[[${#numbers.formatDecimal(userEditsModel.dollarAmount, 0, 'COMMA', 2, 'POINT')}]]

如果有人知道是什么原因造成的,我将不胜感激!

【问题讨论】:

  • 什么是“更高的环境”?
  • 不同的环境。不同的服务器、数据库等
  • 两种环境下是不是同一个war文件?
  • 是的。相同的战争文件。我无法确定以太数据的任何差异。
  • 在这一点上,我没有任何假设会导致 thymeleaf 无法处理表达式。

标签: java html thymeleaf


【解决方案1】:

原来是这样的

userEditsModel.dollarAmount

为空。

一开始我很困惑,因为我对数据库、应用程序服务器等的访问权限有限。

事实证明,如果值为 null,则 thymeleaf 会打印出整个表达式。为什么不抛出异常?我不知道。

【讨论】:

    猜你喜欢
    • 2017-03-24
    • 1970-01-01
    • 2011-03-31
    • 1970-01-01
    • 2012-11-15
    • 2014-06-18
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    相关资源
    最近更新 更多