关于网友提出的“ freemarker问题”问题疑问,本网通过在网上对“ freemarker问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: freemarker问题
描述:
@RequestMapping(value = "test")
public String test(ModelMap mm){
Map mainMap = new HashMap();
for (int i = 0; i < 10; i++) {
Map childMap = new HashMap();
for(int j = 0 ; j < 20 ; j++){
childMap.put("key" + j, "value" + j);
}
Etuser user = new Etuser();
user.setId(i + ""); //这里已经为id赋值了
user.setLoginname("aaaaaaa");
user.setLastaccesstime(new Timestamp(System.currentTimeMillis()));
mainMap.put(user + "", childMap);
}
mm.put("mainMap", mainMap);
return "evertrip/diyquote/test";
}
//mainMap 的类型为 Map<>
>
<#list mainMap?keys as mainKey >
${mainKey.id}
报错:
==> ${mainKey.id} [on line 32, column 17 in evertrip/diyquote/test.ftl]
----------
Java backtrace for programmers:
----------
freemarker.template.TemplateException: Expected hash. mainKey evaluated instead to freemarker.template.SimpleScalar on line 32, column 19 in evertrip/diyquote/test.ftl.
at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:136)
at freemarker.core.Dot._getAsTemplateModel(Dot.java:78)
如果将页面改成下面这样 , 就不会报错
我就换别的属性试试 ,都会报错 ,只要是mainKey.属性 , 就会报错
<#list mainMap?keys as mainKey >
${mainKey}
另外。EtsUser中绝对有每个属性的get和set方法
以上介绍了“ freemarker问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2901693.html