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.
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.
≤ 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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With