我有一个如下的 HashMap
HashMap<String, String> map = new HashMap<String, String>();
map.put("one", "1");
map.put("two", "2");
map.put("three", "3");
Map root = new HashMap();
root.put("hello", map);
我的 Freemarker 模板是:
<html><body>
<#list hello?keys as key>
${key} = ${hello[key]}
</#list>
</body></html>
目标是在我生成的 HTML 中显示键值对。请帮我做。谢谢!
最佳答案
代码:
Map root = new HashMap();
HashMap<String, String> test1 = new HashMap<String, String>();
test1.put("one", "1");
test1.put("two", "2");
test1.put("three", "3");
root.put("hello", test1);
Configuration cfg = new Configuration(); // Create configuration
Template template = cfg.getTemplate("test.ftl"); // Filename of your template
StringWriter sw = new StringWriter(); // So you can use the output as String
template.process(root, sw); // process the template to output
System.out.println(sw); // eg. output your result
模板:
<body>
<#list hello?keys as key>
${key} = ${hello[key]}
</#list>
</body>
输出:
<body>
two = 2
one = 1
three = 3
</body>
关于java - Freemarker 和 hashmap。我如何获得键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14821329/