0
点赞
收藏
分享

微信扫一扫

EL 表达式 c:if test="" 的判断失效问题


1. 问题描述

以下两个表达式一直判断失效:

<c:if test="${homework.status == '0'}">
                                已提交作业
                            </c:if>
                            <c:if test="${homework.status eq '0'}">
                                已提交作业
                            </c:if>

2. 错误原因

错误排查:用 *${homework.status}* 在页面上打印了一下, 打印结果为:*0* 。证明传参成功,也没有多余的空格。

以前一直这样写也没错,后来看了一下homework.status,homework.status我使用的char来存储,查了一下资料果然是char的问题,char类型的数据不能用上述的EL表达式。

3. 错误解决

char 类型需要用 字符的ASCII 码去比较,修改后如下所示:

<c:if test="${homework.status == '48'}">
                                已提交作业
                            </c:if>

常用的ASCII码: 0-9 :48-57 ;  A-Z : 65 - 90 ;   a-z : 97-122。


举报

相关推荐

0 条评论