Thymeleaf没有在班上承认公共枚举

时间:2018-10-01 11:33:46

标签: java enums thymeleaf

我将此枚举包含在“ mypackage”中的“ myclass”类中。

public enum InputError {
TIME_PERIOD_GIVEN;
}

并且据推测,Thymeleaf模板应该引用它并将其与以下内容进行比较:

<th:block th:if="${somevar == T(mypackage.myclass.InputError).TIME_PERIOD_GIVEN}"

不是。它在调试中显示错误:

Caused by: ognl.NoSuchPropertyException: mypackage.myclass.InputError

有什么不好的主意吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

这应该起作用: th:if="${somevar == T(mypackage.myclass.InputError).MONDAY}"

确保输入正确的软件包名称。

答案 1 :(得分:0)

我将使用String而不是Java Enum,因为依赖于一个包很难看。这很容易出错,尤其是如果要将枚举类移到另一个软件包中。

<th:block th:if="${somevar == TIME_PERIOD_GIVEN}"

和在Java中:

model.put("somevar", InputError.TIME_PERIOD_GIVEN.toString());