求助:freemarker遍历map的问题,无故遍历出一堆map方法名
用到jfinal + freemarker 遍历map时出现了个奇怪的事儿
public void index(){ Map vmap = new LinkedHashMap(); vmap.put("A", "IT IS A"); vmap.put("B", "IT IS B"); setAttr("vmap",vmap); render("/common/search.html"); }
html页面如下:
<#list vmap?keys as k> ${k} </#list>
结果输出了一堆map的方法名,很郁闷,很奇怪啊
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
<#assign h={'a':'1a1','b':'1b1'} />
<#list h?keys as key >
${key} = ${h[key]}<br />
</#list>
这样应该没有问题
${mKey} 我就是这样的,不知道为什么会输出map的方法名。。。
struts提供了<constant name="struts.freemarker.wrapper.altMap" value="false"/> 参数供我们设置:
当值为true的时候,map?keys返回 map中key的列表 不(这时候map的key只能是String类型的)。当值设置为fase的时候,map?keys返回的是map这个类的所有方法和内容,例如map?keys?size返回22,因为map有22个方法。也可以使用
此时(map的key可以是string或者不是string类型的)
试了下,成功了。。。谢谢。
回复
我是说这个问题的cause
回复
freemarker 的 bug 而已
回复
原来如此,混在一起确实很没道理
你试试