Ошибка при анализе шаблона тимелеафа с "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

Вы должны избегать символа, используя

&lt; for < 
&gt; for >
&le; for <= 
&ge; for >=

Таким образом, ваш код должен выглядеть так:

<span th:if="${1 &lt; 0}">

Вы можете найти весь документ об этом в учебнике "Использование Тимелеафа" на своем веб-сайте в разделе "Компараторы и равенство".

Ответ 2

&le; for <= 
&ge; for >=

не работал для меня, мне пришлось использовать:

&lt;= for <= 
&gt;= for >=

Похоже, что ≤ и ≥ не принимаются как правильно сформированный XML.

Это решение: -

"IllegalStateException: невозможно обрабатывать (8804) '≤'"