Mybatis 條件判斷單雙引號解析問題


最近使用 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>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM