文档章节

char类型的字段值使用EL表达式比较

 电脑上的小蚂蚁
发布于 2017/09/06 17:49
字数 380
阅读 6
收藏 0

   这两天在处理一个项目上的问题时,遇到了下面的这种情况:

   原理:

    服务端:使用hibernate查询数据库中相关表的部分字段,返回PageFinder类型结果;

    客户端(PC):使用EL表达式${}遍历PageFinder类型结果展示。

   现象:

      客户端在展示时,针对查询出的结果与字符串比较时老是报错,例如:

           <c:if test="${ className[0] == 'C'}">测试</c:if>

   分析过程:

      1.在页面上打印出${ className[0]}值,发现结果也是C,这就莫名其妙了;

      2.网上搜索相关资料,发现一般有这么几种情况:

             a.在编写EL表达式时,后面带入了空格,例如:

                           <c:if test="${ className[0] == 'C'} ">测试</c:if>

                    解决办法:

                         去掉空格,结果为:<c:if test="${ className[0] == 'C'}">测试</c:if>

             b.传值的时候换行了  导致不相等,例如:

                             参考路径:http://bbs.csdn.net/topics/392051062

                   解决办法:

                         去掉换行

      3.按照2.检查发现都不是这些问题,检查查询的表对应的字段,发现数据库中定义的是char(1)类型的,

        感觉客户端页面比较时使用的是char类型和字符串比较,所以不相等。

   解决办法:

       找到C对应的ascII码值,换成<c:if test="${ className[0] == '67' } ">测试</c:if>,

      测试正常,问题解决。

 

 

     

 

 

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 17
码字总数 3567
作品 0
太原
私信 提问
EL表达式从数组 Map List集合取值

(3)数组或集合的索引只能使用[] 如:${sessionScope.user[0]} ${sessionScope.list[1].name} 属性值:${hello} 对象值 姓名:${user.username} 年龄:${user.age} 所属组:${user.group.name...

TroubleA
01/16
0
0
redraiment/jactiverecord-el

jActiveRecord-EL 是jActiveRecord的辅助项目,简化在EL表达式中访问数据的方法,做到像操作普通一样操作和类型的对象。适合采用了的项目。 项目主页:http://github.com/redraiment/jactiv...

redraiment
2014/05/30
0
0
EL表达式和EL函数库

一、EL表达式简介   EL 全名为Expression Language。EL主要作用: 1、获取数据     EL表达式主要用于替换JSP页面中的脚本表达式<%= %>,以从各种类型的web域 中检索java对象、获取数据...

_Roger_
2016/01/26
562
0
JSTL标签使用总结

1.EL语言介绍 EL语言是JSTL输出(输入)一个JAVA表达式的表示形式。 在JSTL中,EL语言只能在属性值中使用。EL语言只能通过建立表达式${exp1}来进行调用。在属性值中使用表达式有三种方式。 ...

孟飞阳
2016/07/01
21
0
MySQL创建修改表结构

一、 数据库的概述 1、什么是数据库 DB,DataBase 数据库:依照某种数据模型进行组织并存放到存储器的数据集合 DBMS,DataBase Management System 数据库管理系统:用来操纵和管理数据库的大型...

常楠
2014/05/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mybatis批量update操作的写法,及批量update报错的问题解决方法

mybatis的批量update操作写法很简单,如下: 如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java高级交流:854630135,群里有阿...

编程SHA
27分钟前
2
0
EOS怎样删除钱包

在使用Eos的keosd钱包软件时,如果要删除EOS中指定名称的钱包,最简单的办法是 直接删除钱包文件,不过在删除钱包之前,需要先停止钱包软件的运行。 学习EOS应用开发要选这个:【EOS智能合约...

汇智网教程
33分钟前
5
0
Java语言快速实现简单MQ消息队列服务

使用 JAVA 语言自己动手来写一个MQ (类似ActiveMQ,RabbitMQ) 主要角色 首先我们必须需要搞明白 MQ (消息队列) 中的三个基本角色 ProducerBrokerConsumer 整体架构如下所示 自定义协议 首...

微笑向暖wx
43分钟前
5
0
ES5和ES6那些你必须知道的事儿

  ES5和ES6那些你必须知道的事儿      ES5新增的东西      一、数组方法      1、forEach      用途:遍历,循环      对于空数组不会执行回调函数      复制代码...

SEOwhywhy
今天
11
0
转:[windows]DOS批处理添加任务计划

[windows]DOS批处理添加任务计划 博客分类: Windows 转自:http://gwmold.blog.163.com/blog/static/1553319892010117113457232/ 自动创建每周运行一次的计划任务 创建计划任务可用at,sch...

SamXIAO
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部