小编典典

SpringBoot Thymeleaf序数

spring-boot

我读了几个不错的职位像这样一个这说明当给予接收序号的方法int

现在,我有一个LocalDate对象,可以使用DateTimeFormatThymeleaf模板中的任何模式设置日期格式。示例如下:

<strong th:text="${item.date} ? ${#temporals.format(item.date, 'dd')}"></strong>

问题:
我如何才能获得与我以上在Thymeleaf中链接到的帖子类似的结果的最佳方法?

我不是一位经验丰富的Java开发人员,所以如果您尽可能详尽地解释答案,那将对您有所帮助。


阅读 335

收藏
2020-05-30

共1个答案

小编典典

在Thymeleaf的模板中,您可以使用静态字段(和函数),因此在您的情况下,它看起来像这样:
1)您所涉及问题的代码(我对此做了一点修改):

package your.packagename;
// http://code.google.com/p/guava-libraries
import static com.google.common.base.Preconditions.*;

public class YourClass {

    public static String getDayOfMonthSuffix(String num) {
        Integer n = Integer.valueOf(num == null ? "1" : num);
        checkArgument(n >= 1 && n <= 31, "illegal day of month: " + n);
        if (n >= 11 && n <= 13) {
            return "th";
        }
        switch (n % 10) {
            case 1:  return "st";
            case 2:  return "nd";
            case 3:  return "rd";
            default: return "th";
        }
    }
}

2)在视图内部调用它:

<strong th:text="${#temporals.format(item.date, 'dd') + T(your.packagename.YourClass).getDayOfMonthSuffix(#temporals.format(item.date, 'dd'))}"></strong>
2020-05-30