Thymeleaf не признает общедоступное перечисление в классе - PullRequest
0 голосов
/ 01 октября 2018

У меня есть это перечисление внутри класса "myclass", который находится внутри "mypackage".

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 голосов
/ 02 октября 2018

Я бы использовал String вместо Java Enum, потому что это некрасиво зависеть от пакета.Это подвержено ошибкам, особенно если вы переместите свой класс enum в другой пакет.

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

и в java:

model.put("somevar", InputError.TIME_PERIOD_GIVEN.toString());
0 голосов
/ 01 октября 2018

Это должно работать: th:if="${somevar == T(mypackage.myclass.InputError).MONDAY}"

Убедитесь, что вы указали правильное имя пакета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...