这个简单啊
<c:forEach items="${book'}" var="b" varStatus="i">
<span >${bname }</span>
<c:if test="${(iindex+1)%2==0 }">
<p>
</c:if>
</c:forEach>
具体的自己改下
在EL中,方括号运算符用来检索数组和集合的元素。对于实现 javautilMap 接口的集合,方括号运算符使用关联的键查找存储在映射中的值。
在方括号中指定键,并将相应的值作为表达式的值返回。例如,表达式 ${map['key']} 返回与 map标识符所引用的 Map 中的 "key" 键相关联的值。
当forEach 的items属性中的表达式的值是javautilMap时,则var中命名的变量的类型就是 javautilMapEntry。这时var=entry的话,用表达式${entrykey}取得键名。用表达${entryvalue}得到每个entry的值。这是因为javautilMapEntry对象有getKey和getValue方法,表达式语言遵守JavaBean的命名约定。
<%
Map<String,String> map2 = new HashMap();
map2put("a","hello world");
map2put("b","this is map");
requestsetAttribute("map2",map2);
%>
<br>
键值对遍历 <br>
<c:forEach var="item" items="${map2}">
${itemkey} > ${itemvalue} <br>
</c:forEach>
键遍历 <br>
<c:forEach var="item" items="${map2}">
${itemkey}<br>
</c:forEach>
值遍历 <br>
<c:forEach var="item" items="${map2}">
${itemvalue}<br>
</c:forEach>
<body>
<br><br>
<%
List<String> list = new ArrayList<String>();
listadd("first");
listadd("second");
List<String> list2 = new ArrayList<String>();
list2add("aaaaaa");
list2add("bbbbbb");
Map<String,List<String>> map = new HashMap();
mapput("a",list);
mapput("b",list2);
requestsetAttribute("map",map);
%>
通过键获得列表值,并遍历列表 <br>
<c:forEach var="item" items="${map['a']}">
${item }<br>
</c:forEach><br>
<c:forEach var="item" items="${map['b']}">
${item }<br>
</c:forEach> <br>
map中值为列表,直接遍历列表中的每一项 <br>
<c:forEach var="item" items="${map}">
<c:forEach items="${itemvalue}" var="it">
${it }<br>
</c:forEach>
</c:forEach>
你要明白el表达式是在什么时候执行的
el表达式实际上是java代码, 即jsp里的java代码, 是servlet执行的
也就是说, 后台看到el表达式的时候就执行了, 然后用执行的结果代替这个el表达式, 然后再返回给前台
你写alert("${endtimeMap['8']}");
后台看到的是就是${endtimeMap['8']}这个东西, 然后计算从map里得到对应的值, 代替则个东西, 所以你到前台看到的实际上是map里的值了
如果你写alert("${endtimeMap['"+ff+"']}");, 后台看到的是${endtimeMap['"+ff+"']}, 你觉得后台能把这个解析成什么, 后台会认为你是取map里key值为"\"+ff+\""的value(你要是不信, 你给你的map里添一组这个key-value)
归根结底还是执行顺序的问题, el表达式是servlet是后台执行的, js是得到response后在前台执行的, el优先于js, 你的想法是js先把值穿进去, 然后el表达式再得值, 所以必须不正确了
这样说你应该明白了吧
比如获取map里面carTpye对应的值
<c:forEach items="${list}" var="map">
${mapcarType}
</c:forEach>
以上就是关于jsp用el表达式遍历集合的时候,我想在一行只显示 两条数据,这个怎么实现,求解全部的内容,包括:jsp用el表达式遍历集合的时候,我想在一行只显示 两条数据,这个怎么实现,求解、EL表达式怎么获取Map的动态key、使用el表达式获取request中map值的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)