在jstl中使用char类型的问题

来源:互联网 发布:编程判断质数 编辑:程序博客网 时间:2024/06/05 19:49

问题:数据库中的字段是char类型,在实体类中也是char或是Charater类型,在页面上取得值以后与预想的不一样,比如数据库是1,但在页面上${aaa.flag==1}一直返回false

原因:因为在jstl中不支持char类型,所以char类型的1会变成long型的49。

解决方法 :在实体类中把类型改成String, 还有一种情况要注意,如果你从数据库返回的不是实体,而是一个Map<String, Object>,这个时候也会有同样的问题,建议要么把Map改成Map<String, String>, 要么在把查询出来的数据放入到map前检查一下,如果是char,则转成String.

if(value != null && value instanceof Character){
map.put(key.toUpperCase(), value.toString());
}

0 0
原创粉丝点击