【发布时间】:2011-03-27 06:54:57
【问题描述】:
我正在尝试访问 HashMap 中的元素。 此 HashMap 的键由 Enum 定义。
查看文档后,我认为为了能够访问 Enum,我必须像这样将其发送到 Freemarker:
BeansWrapper wrapper = BeansWrapper.getDefaultInstance();
TemplateHashModel enumModels = wrapper.getEnumModels();
TemplateHashModel fieldTypeModel = (TemplateHashModel)enumModels.get("com.example.MinisiteFieldType");
root.put("fieldtypes", fieldTypeModel);
在我的 .ftl 中,我尝试了以下操作:
${myelement.mymap[fieldtypes.SEOTEXT]}
但是我得到: 表达式 myelement.mymap[fieldtypes.SEOTEXT] 在 X 行未定义...
我想确保我正确映射了枚举,所以我尝试了:
${fieldtypes.SEOTEXT}
这没有打印任何东西,让我想知道它是否通过了,或者根本无法打印。
在 Java 调试中,在我的根 Map 中插入 TemplateHashModel 之前,'fieldTypeModel' 填充了正确的数据...
任何帮助将不胜感激!
巴特
【问题讨论】:
标签: java jsp jstl freemarker