最近使用 Mybatis 遇到了一個奇怪的問題,前端傳了一個數字字元串(type = "1") ,我做瞭如下判斷: 就這樣系統無情的告訴我這樣無法被解析,原因是字元串和數字無法判斷相等!Are you kidding me?我這明明寫的是字元串呀! 後來,跟蹤了下源碼,發現 '1' 確實被直接當成數 ...
最近使用 Mybatis 遇到了一個奇怪的問題,前端傳了一個數字字元串(type = "1") ,我做瞭如下判斷:
<if test=" type == '1' ">
</if>
就這樣系統無情的告訴我這樣無法被解析,原因是字元串和數字無法判斷相等!Are you kidding me?我這明明寫的是字元串呀!
後來,跟蹤了下源碼,發現 '1' 確實被直接當成數字處理了,查閱了一些資料,原來 MyBatis 是使用的 OGNL表達式來進行解析的,所以單個的字元要寫到雙引號裡面才行,那麼要怎麼寫呢?
可以這樣寫:
<if test=' type == "1" '>
</if>
或者這樣寫:
<if test="type == '1'.toString()">
</if>