提问者:小点点

如何根据thymeleaf中的双值在单个<td>标签中呈现不同的结果


我有一个表,希望在其中根据我的prod.priceHTML标记中呈现不同的值。 例如,当prod.price<; 1我要显示0.30c。 当prod.price>; 1Thymeleaf应呈现1.20AWS

不幸的是,我当前的实现在prod.price时同时显示了awsc; 1。 例如,如果价格是0.30c,我的解决方案将同时呈现0.30c0.30AWS。 我不知道哪里出了问题,为什么它给了我这个结果,一些帮助弄清楚这将是感激的。 我现在得到的实现是这样的-

<td th:text="${prod.name}"></td>
            <td>
                <span th:if="${#numbers.formatDecimal(prod.price, 1, 'COMMA', 2, 'POINT')} &lt; 1">
                <span th:text="${#numbers.formatDecimal(prod.price, 1, 'COMMA', 2, 'POINT')} + ' clouds'"></span>
            </span> 
                <span th:unless="${#numbers.formatDecimal(prod.price, 1, 'COMMA', 2, 'POINT')} &gt; 1"></span>
                <span th:text="${#numbers.formatDecimal(prod.price, 1, 'COMMA', 2, 'POINT')} + ' aws'"></span>

            </td>

我还经常使用标记,但没有取得太大的成功。 我最初的做法,在一开始,是以下,但也不起作用。

            <td>
            <span th:if="${#numbers.formatDecimal(prod.price, 1, 'COMMA', 2, 'POINT')} &lt; 1" th:text="${#numbers.formatDecimal(prod.price, 1, 'COMMA', 2, 'POINT')} + ' clouds'"></span>
            <span th:unless="${#numbers.formatDecimal(prod.price, 1, 'COMMA', 2, 'POINT')} &gt; 1" th:text="${#numbers.formatDecimal(prod.price, 1, 'COMMA', 2, 'POINT')} + ' aws'"></span>

            </td>

共1个答案

匿名用户

你是失败者。 这应该会起作用:

<td>
    <span th:if="$prod.price} &lt; 1" 
          th:text="${#numbers.formatDecimal(prod.price, 1, 'COMMA', 2, 'POINT')} + ' clouds'">
    </span>
    <span th:if="${prod.price} &gt; 1" 
          th:text="${#numbers.formatDecimal(prod.price, 1, 'COMMA', 2, 'POINT')} + ' aws'">
    </span>
</td>