我后台放了一个map在request中,在jsp用EL表达式${map[key]}根据键取值,但是怎么也取不出来,后来我试着用jstl<c:forEach items="${map }" var="entry">${entry.key },${entry.value }</c:forEach>遍历,却是可以的,难道我EL表达式${map[key]}写的不对吗?请问怎么用EL表达式根据确定的键取值呢

解决方案 »

  1.   

    ${map.key}这会报错,没有这样写的吧。
      

  2.   

    map是保存在request中的Map对象名,key是你想取值的键。
      

  3.   

    楼上的,我知道key是键,会报错啊
      

  4.   

    Map map = new HashMap();
        map.put("k1","v1" );
        map.put("k2", "v2");
    request.setAttribute("mapvalue", map);
    <c:forEach items="${mapvalue}" var="mv"> 
        ${mv.key} = ${mv.value } 
    </c:forEach>
      

  5.   

    Map mapValue  = new HashMap();
    mapValue.put("key1", "value1");
    mapValue.put("key2", "value2");

    request.setAttribute("mapvalue", mapValue);<li>输出map,采用.进行导航,也称存取器</li><br>
    mapvalue.key1:${mapvalue.key1 }<br>
    mapvalue.key2:${mapvalue.key2 }<br>
      

  6.   

    是我搞错了,zhoupuyue是对的,${map.key}确实能取出值来,因为我的key是Integer,纯数字,所以用EL取会报错。。谢谢大家热心回答~