'Error parsing thymeleaf template with "1 < 0"
Maybe is a stupid question but I failed to retrieve information from Google. As the title say, I get a stack trace if a try to parse this simple line:
<span th:if="${1 < 0}">
The error is:
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.
But if i try this:
<span th:if="${0 > 1}">
Everything is fine, my question is: Why I get this error?
I believe is related to my lack of experience with Java and thymeleaf, but I don't get why by just changing the position of the elements it work as I expect (return always false).
It is a bug in the parsing of the expression (as checking if 1 is lower than 0 is forbidden by some parser rule) or is just a weird XML parsing issue?
Thank you to all who will even just read.
Solution 1:[1]
You have to escape the symbol by using
< for <
> for >
≤ for <=
≥ for >=
So your code should look like :
<span th:if="${1 < 0}">
You can find the whole doc about this in the 'Using Thymeleaf' tutorial on their website, in the comparators-and-equality section.
Solution 2:[2]
≤ for <=
≥ for >=
didn't work for me. I had to use:
<= for <=
>= for >=
It seems that ≤ and ≥ are not accepted as well-formed XML.
This solves the "IllegalStateException: Cannot handle (8804) '?' " problem.
Solution 3:[3]
I have come with same problem, but shows different exception and my code is here:
<div class="text-center m-1" th:if="${totalCount} > 0">
<span> Showing user # [[${startCount}]] to [[${endCount}]] of [[${totalCount}]] </span>
</div>
Here is my stack trace:
Caused by: org.attoparser.ParseException: Cannot execute GREATER THAN comparison: operands are "null" and "0"
So, I have changed to:
<div class="text-center m-1" th:if="${totalCount} != 0">
<span> Showing user # [[${startCount}]] to [[${endCount}]] of [[${totalCount}]] </span>
</div>
It works.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Ben |
| Solution 2 | Pang |
| Solution 3 | njpollob |
