Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp EL通过整数键获取HashMap的值_Jsp_Jstl_El - Fatal编程技术网

Jsp EL通过整数键获取HashMap的值

Jsp EL通过整数键获取HashMap的值,jsp,jstl,el,Jsp,Jstl,El,我有这个HashMap: Map<Integer, String> odometerMap = new LinkedHashMap<Integer, String>(); odometerMap.put(0, getLocaleForKey("drop-down.any")); odometerMap.put(1, "< 1000"); odometerMap.put(2, "1000 - 5000"); odometerMa

我有这个HashMap:

    Map<Integer, String> odometerMap = new LinkedHashMap<Integer, String>();
    odometerMap.put(0, getLocaleForKey("drop-down.any"));
    odometerMap.put(1, "< 1000");
    odometerMap.put(2, "1000 - 5000");
    odometerMap.put(3, "5000 - 10000");
    odometerMap.put(4, "10000 - 20000");
    odometerMap.put(5, "20000 - 30000");
    odometerMap.put(6, "30000 - 40000");
    odometerMap.put(7, "40000 - 60000");
    odometerMap.put(8, "60000 - 80000");
    odometerMap.put(9, "> 80000");
Map-odometerMap=new-LinkedHashMap();
odometerMap.put(0,getLocaleForKey(“下拉式.any”);
里程表映射置位(1,“<1000”);
里程表标度(2,“1000-5000”);
里程表标度(3,“5000-10000”);
里程表标度(4,“10000-20000”);
里程表标度(5,“20000-30000”);
里程表标度(6,“30000-40000”);
里程表标度(7,“40000-60000”);
里程表标度(8,“60000-80000”);
里程表平均放电量(9,“>80000”);
我在JSP中的目标是打印例如${odometerMap[2]}(结果是空字符串):


如果我只打印${odometerMap},我会得到完整的地图:

{0=Any, 1=< 1000, 2=1000 - 5000, 3=5000 - 10000, 4=10000 - 20000, 5=20000 - 30000, 6=30000 - 40000, 7=40000 - 60000, 8=60000 - 80000, 9=> 80000}
{0=Any,1=<1000,2=1000-5000,3=5000-10000,4=10000-20000,5=20000-30000,6=30000-40000,7=40000-60000,8=60000-80000,9=>80000}
如何仅打印所选元素?例:2


谢谢

另一种方法是使用
字符串
作为键

Map<String, String> odometerMap;
。。以及:

<c:out value="${odometerMap['2']}"/>
<c:out value="${odometers[2]}"/>

在EL中,数字被视为长的。它正在寻找一个
键。如果您使用
Long
而不是
Integer
作为映射键,它将起作用

Map<Long, String> odometerMap = new LinkedHashMap<Long, String>();
odometerMap.put(0L, getLocaleForKey("drop-down.any"));
odometerMap.put(1L, "< 1000");
// ...
Map-odometerMap=new-LinkedHashMap();
odometerMap.put(0L,getLocaleForKey(“下拉列表任何”);
里程表标距(1L,“<1000”);
// ...
odometerMap是一个作用域(页面、请求、会话、应用程序)对象吗?
<c:out value="${odometers[2]}"/>
Map<Long, String> odometerMap = new LinkedHashMap<Long, String>();
odometerMap.put(0L, getLocaleForKey("drop-down.any"));
odometerMap.put(1L, "< 1000");
// ...