Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从Freemarker模板内部获取特定贴图值_Java_Freemarker - Fatal编程技术网

Java 如何从Freemarker模板内部获取特定贴图值

Java 如何从Freemarker模板内部获取特定贴图值,java,freemarker,Java,Freemarker,我需要将一个Map传递到一个Freemarker模板中,然后在模板内部,选择从注入的Map中提取的值。比如: // This map will have a 'fizz' key with a String value of 'buzz'. Map<String,String> mymap = getSomehow(); Configuration cfg = new Configuration(); Template template = cfg.getTemplate("myt

我需要将一个
Map
传递到一个Freemarker模板中,然后在模板内部,选择从注入的Map中提取的值。比如:

// This map will have a 'fizz' key with a String value of 'buzz'.
Map<String,String> mymap = getSomehow();

Configuration cfg = new Configuration();
Template template = cfg.getTemplate("mytempl.ftl");
StringWriter sw = new StringWriter();

template.process(mymap, sw);
但当我运行这个时,我得到:

FreeMarker template error: The following has evaluated to null or missing: ==> mymap

你知道我哪里出错了吗?

过程的第一个参数是模板的“上下文”。因此,要从映射中选择特定的值,您只需使用
${fizz}

是否是
getmovey()
绝对非空的结果?谢谢@AndyTurner(+1)-是的,映射绝对非空(通过日志语句确认)。谢谢@Martin Schneider(+1)-如果我需要同时注入
映射,比如说,是否将
FooBar
实例添加到我的模板中?如何将地图和
FooBar
组合到同一个“上下文”中,然后从地图内部访问特定键?再次感谢!只需使用另一个Map或专用对象作为上下文,例如
Map context=newhashmap();context.put('mymap',mymap);context.put('FooBar',FooBar)。然后在模板中,你可以像
${mymap[fizz]}
${FooBar.someProperty}
那样访问它们。如果你有
mymap
,那么它实际上是
mymap.fizz
(或者
mymap[“fizz”]
)。
FreeMarker template error: The following has evaluated to null or missing: ==> mymap