无法在JSP中循环映射

可能重复:
如何迭代Map中的每个条目?

我遵循此解决方案无效:https://stackoverflow.com/a/1835742/666468

我正在尝试输出此地图:

//protected Map<String,String> getImageTagAttributes()
Image image = new Image(resource);
for (Map<String, String> foo : image.getImageTagAttributes()) {
        String key = foo.getKey();
        String value = foo.getValue();

        //output here
    }

但是我得到这个错误: 只能迭代一个数组或java.lang.Iterable的实例

我也导入了java.util.Iterator,但没有运气。

ps我希望我可以安装和使用JSTL,但这不是我的电话。


不知道你是从哪里得到这个Image类的,但是如果image.getImageTagAttributes()返回Map<String, String>那么可以试试这种方式

Image image = new Image(resource);
Map<String, String> map = image.getImageTagAttributes();
for (Map.Entry<String,String> foo : map.entrySet()) {
    String key = foo.getKey();
    String value = foo.getValue();

    //output here
}

您无法为每个循环迭代Map。

获取地图对象密钥集,然后迭代它。

然后在for循环中尝试从地图中检索每个键的值。


因为这不是迭代Map的正确方法:

    Image image = new Image(resource);
    Map<String, String> foo =  image.getImageTagAttributes();
    Set<String> key = foo.keyset(); 
     for ( k : keys ) {
           String value = foo.get(k);
        //output here
    }

或者你可以这样说:

    Image image = new Image(resource);
    Map<String, String> foo =  image.getImageTagAttributes();
    Set<Map.Entry<String,String>> entries = foo.entrySet();

    for(Map.Entry<String, String> e : entries){
       String key  = e.getKey();
       String value = e.getValue();
        //output
    }

在我的答案中,我想这image.getImageTagAttributes(); 返回一个Map<String,String>

链接地址: http://www.djcxy.com/p/23975.html

上一篇: Failure to Loop Through Map in JSP

下一篇: how to get values from hashmap using loop