Ошибка при анализе шаблона тимелеафа с "1 <0"
Возможно, это глупый вопрос, но я не смог получить информацию от Google. Как говорится в названии, я получаю трассировку стека, если попытаюсь разобрать эту простую строку:
<span th:if="${1 < 0}">
Ошибка:
org.xml.sax.SAXParseException; lineNumber: 14; columnNumber: 43; The value of attribute "th:if" associated with an element type "null" must not contain the '<' character.
Но если я попробую это:
<span th:if="${0 > 1}">
Все в порядке, мой вопрос: почему я получаю эту ошибку?
Я полагаю, что это связано с моим отсутствием опыта работы с Java и тимелеафом, но я не понимаю, почему, просто изменив положение элементов, которые он работает, как я ожидаю (всегда возвращает false).
Это ошибка при анализе выражения (как проверка, если 1 меньше 0, запрещено некоторым правилом синтаксического анализа) или просто странная проблема синтаксического анализа XML?
Спасибо всем, кто даже прочитает.
Ответы
Ответ 1
Вы должны избегать символа, используя
< for <
> for >
≤ for <=
≥ for >=
Таким образом, ваш код должен выглядеть так:
<span th:if="${1 < 0}">
Вы можете найти весь документ об этом в учебнике "Использование Тимелеафа" на своем веб-сайте в разделе "Компараторы и равенство".
Ответ 2
≤ for <=
≥ for >=
не работал для меня, мне пришлось использовать:
<= for <=
>= for >=
Похоже, что ≤ и ≥ не принимаются как правильно сформированный XML.
Это решение: -
"IllegalStateException: невозможно обрабатывать (8804) '≤'"