freemarker直接使用一段string作为模板
时间: 2023-10-07 14:06:01 浏览: 149
在Freemarker中,您可以使用StringTemplateLoader类将字符串作为模板加载。以下是一个例子:
```java
import freemarker.cache.StringTemplateLoader;
import freemarker.template.Configuration;
import freemarker.template.Template;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.Map;
public class Example {
public static void main(String[] args) throws Exception {
Configuration cfg = new Configuration(Configuration.VERSION_2_3_30);
StringTemplateLoader stringLoader = new StringTemplateLoader();
stringLoader.putTemplate("myTemplate", "Hello ${user}!");
cfg.setTemplateLoader(stringLoader);
Template template = cfg.getTemplate("myTemplate");
Map<String, String> data = new HashMap<>();
data.put("user", "John");
StringWriter out = new StringWriter();
template.process(data, out);
System.out.println(out.toString());
}
}
```
在这个例子中,我们使用了StringTemplateLoader类将字符串"Hello ${user}!"作为模板加载。然后,我们使用Configuration类获取模板,并将数据模型Map传递给process()方法进行渲染。
输出结果将会是:
```
Hello John!
```
阅读全文