可能是一个愚蠢的问题,但我无法从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和百万美元的经验有关,但我不明白为什么只是按照我的预期改变它工作的元素的位置(返回总是假的)。
这是解析表达式的一个错误(因为检查1是否低于0是某些解析器规则禁止的)或者只是一个奇怪的XML解析问题?
感谢所有愿意阅读的人。
答案 0 :(得分:36)
您必须使用
转义符号< for <
> for >
≤ for <=
≥ for >=
所以你的代码应该是这样的:
<span th:if="${1 < 0}">
您可以在比较器和等式部分的website上的“使用Thymeleaf”教程中找到有关此内容的完整文档。
答案 1 :(得分:11)
≤ for <=
≥ for >=
对我不起作用,我不得不使用:
<= for <=
>= for >=
似乎≤和≥不被接受为格式良好的XML。
这解决了: -
&#34; IllegalStateException:无法处理(8804)&#39;≤&#39; &#34;