您的位置:首页 > Web前端 > JavaScript

关于<c:if >判断 char 类型

2017-09-12 11:34 387 查看
Bug : 使用<c:if> 判断 char类型的数值时,等值判断无效。

经历:后台数据库保存某个状态的时候经常使用char类型去定义字段,然后规定某个代码为某个状态,如 ‘0’ 为 ‘有’,‘1’ 为 ‘无’ ,页面查询列表展示的时候经常要队该字段进行处理,需要显示‘有’或者‘无’,而不是‘0’或‘1’,常见的办法就是使用核心标签库中的<c:if>标签:

<c:if test="${deptInfo.sts eq '0' }" >有效</c:if>

<c:if test="${deptInfo.sts eq '1' }" >无效</c:if> 

然而页面上状态字段却不显示。

原因:char 类型的数据进行比较时,需要先把它转换成ASCII码对应的十进制,再进行比较。

提示:char类型 0-9 对应 ASCII十进制  48-57 ;     A-Z : 65 - 90   ;      a-z : 97-122  (这些时比较常用的)

解决方案:

<c:if test="${deptInfo.sts eq '48' }" >有效</c:if>

<c:if test="${deptInfo.sts eq '49' }" >无效</c:if>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Jsp Jstl