Qute模板遍历Map报错:Unsupported iterable type问题求助
解决Qute遍历Map keySet时的"Unsupported iterable type"错误
问题出在Qute的属性解析规则上:Qute遵循JavaBean规范解析属性,当你写myMap.keyset时,它会尝试调用getKeyset()方法,但Java的Map接口提供的是keySet()方法(对应JavaBean属性名应为keySet),所以Qute无法找到正确的方法,最终返回java.lang.Object类型,导致遍历时报错。
修复方案
把模板中的keyset改为驼峰式的keySet,对应Map的keySet()方法:
{#for key in myTemplate.myMap.keySet} 键: {key}, 值: {myTemplate.myMap[key]} {/for}
更便捷的遍历方式
直接遍历Map的entrySet可以同时获取键和值,无需单独通过键取值:
{#for entry in myTemplate.myMap.entrySet} 键: {entry.key}, 值: {entry.value} {/for}
内容的提问来源于stack exchange,提问作者Nicolas
相关产品推荐
相关产品推荐

