Error message here!

Hide Error message here!

忘记密码?

Error message here!

请输入正确邮箱

Hide Error message here!

密码丢失?请输入您的电子邮件地址。您将收到一个重设密码链接。

Error message here!

返回登录

Close

Mybatis 条件判断单双引号解析问题

JMCui 2019-12-30 00:21:00 阅读数:70 评论数:0 点赞数:0 收藏数:0

最近使用 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>
版权声明
本文为[JMCui]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/jmcui/p/12117244.html