在 Spring XML 配置中使用 SpEL 表達式 #{100 gt 80} 時報錯:
org.springframework.expression.ParseException: EL1066E:(pos 4): mismatched input 'gt' expecting EOF
XML 解析器將 gt 視為標籤或實體字元的開始,導致 SpEL 解析器接收到的字串被截斷或錯誤。XML 中 > 是保留字元,必須轉義為 >。
<property name="someFlag" value="#{100 > 80}" />
或使用 CDATA 區塊:
<property name="someFlag">
<value><![CDATA[#{100 > 80}]]></value>
</property>
| 運算子 | XML 轉義 | 說明 |
|---|---|---|
| gt ( > ) | > | 大於 |
| lt ( < ) | < | 小於 |
| ge ( >= ) | >= | 大於等於 |
| le ( <= ) | <= | 小於等於 |
| eq ( == ) | == | 等於 |
| ne ( != ) | != | 不等於 |