jsp 从后台Map中取值

在jsp页面有的时候需要从后台传过来的Map中取特定值,并显示在页面上,网上有很多说怎么取值的,但是找了好久很多 都是讲的怎么循环取值,如果你需要在table中显示值那该怎么办呢?很多都没有讲,我把我的方法简单介绍下。

场景是这样的  下面是table的行数据

从后台controller返回分页信息,pageInfo.list是当前行数据,item.houseType是数据,但是这个是值(1或者2等等)并不是描述文字(类似这样1 支付宝 2 微信支付),但是显示的时候是要显示文字性描述的

下面的代码就是怎么来从map中取得文字显示的方法



    ${houseTypeEnumMap.get(item.houseType)}

但是这个里面有坑,那就是类型不匹配!!!!!明白这一点相信你就知道什么原因了。

许多人讲这个map的key是Long型的,这个可能不行

我的map是从枚举类型转换过来的,里面的key是int,描述是String,然后我就转成map传到前台,结果怎么也取不到文字描述

如果是后台传map的,在jsp中用${houseTypeEnumMap.get(item.houseType)}也取不到值,因为item.houseType是int型的,类型不匹配也取不到。

最终想到的思路就是让行数据和map里的类型一致就可以取到文字。

1  map   那就都转成string,jsp中

  这样从int转成string了

后台的map转成map格式

2   Map 

jsp页面   ${houseTypeEnumMap.get(item.houseType)} 

后台的map转成Map  格式

 

以上两种方式都是可以的

你可能感兴趣的:(jsp,从map取值,jsp,按key获取map中的对应值,springmMVC,jsp页面取得map值)