EL 表达式 c:if test="" 的判断失效问题
  anLrwkgbyYZS 2023年12月30日 36 0


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。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月30日 0

暂无评论

推荐阅读
anLrwkgbyYZS