EL表达式获取Map和List中的值

EL表达式获取MapList中的值

 

EL表达式取Map中的值:

  1. Map中是String,String

后台servlet中:

Map<String, String> map1 = new HashMap<String, String>();

map1.put("a", "b");

map1.put("aa", "bb");

map1.put("aaa", "bbb");

前台jsp 中使用EL获取Map

  1. 使用${map1["a"]}${map1.a}取值

${map1["a"]}

${map1.a}

输出为:

  1. 使用jstl<forEach>标签取值

<c:forEach items="${map1}" var="item">

    key:<c:out value="${item.key}" /> &nbsp;&nbsp;&nbsp;

    value:<c:out value="${item.value}" /> <br/>

</c:forEach>

输出为:

不知道为什么与存放的顺序不同?

  1. Map中是Integer,String

    后台servlet中:

            HashMap<Integer, String> map2 = new HashMap<Integer, String>();

            map2.put(1, "b");

            map2.put(2, "bb");

            map2.put(3, "bbb");

    前台jsp 中使用EL获取Map

    1. 使用${map2[1]}${map2["1"]}不可以获取到值,使用${map2.1}取值会报错。Map中的key类型为Long时,可以使用${map2[1]}取到值
    2. 使用jstl<forEach>标签取值,与Map中存放String,String时一样,可以取到值

     

    EL表达式取List的值:

    后台servlet

    List<String> list1 = new ArrayList<String>();

    list1.add("a");

    list1.add("b");

    list1.add("c");

    list1.add("d");

    前台jsp 中使用EL获取Map

    1. 使用${list1[1]}获取值
    2. 使用jstl<forEach>标签取值

        <c:forEach items="${list2 }" var="item">

            <c:out value="${item}"></c:out> <br/>

        </c:forEach>

    无论List中存放的是String或是Integer,上述两种方式都可以成功取到值

原文链接:https://www.cnblogs.com/huangwenjie/p/5724102.html

EL表达式取List<Map<String, Object>>的值

使用forEach遍历,每次得到的都是Map<String, Object>中的数据,在根据EL取map集合的方法就可以得到数据

listMap=[{ no=1, name='zhangsan'},{no=2,name='lisi'}]

<c:forEach var="list" items="${listMap}">  

        编号:${list['no'] }  

        姓名:${list['name'] } 

</c:forEach>




  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值