EL表达式取Map集合问题

今天action中向jsp页面传了一个map集合:

Map<Integer, List<Card>> maps = new HashMap<Integer, List<Card>>();
        List<Card> heilongjiang=new ArrayList<Card>();
        for (Card card : cards) {
            if(card.getAddress().contains("0")){
                heilongjiang.add(card);
            }
        }
        maps.put(0, heilongjiang);
        request.setAttribute("maps", maps);
        return "mapInfo";

jsp页面用forEach做循环:

forEach items="${maps[0]}" var="item">
                                。。。。。。

但是这里${maps[0]}怎么都取不到值啊,我还以为是取值域有问题,还特意去查了查,但是没问题啊:

${你要取的值},页面会默认从page,request,session,application这四个域中查找。

后来查了下el表示取map集合:

map[key1]mapkey=key1value;map.put("a","b"), {map[“a”]} 就可以
注意:如果key1 是数值,例如; 1
后台 map.put(1, value1) , 前台 map[1]el1Longmapintmap.put(1L,value); {map[1]}.

所以将action中map的key改为string,el表达式用${maps[‘0’]}取,就行了。。。基础知识都往了。。。

你可能感兴趣的:(java,web开发)