EL表达式获取Map和List中的值
EL表达式获取Map和List中的值
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}" />    
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"]},不可以获取到值,使⽤${map
el表达式获取值2.1}取值会报错。当Map中的key类型为Long时,可以使
⽤${map2[1]}取到值
2. 使⽤jstl的<forEach>标签取值,与Map中存放String,String时⼀样,可以取到值
EL表达式取List的值:
后台servlet:
List<String> list1 = new ArrayList<String>();
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,上述两种⽅式都可以成功取到值

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。