在Pebble Template Engine中解析字符串模板而不是文件

有没有可能使用卵石模板引擎从字符串建立一个模板,而不必提供一个文件名?

val engine = PebbleEngine.Builder().build() val writer = StringWriter(); engine.getTemplate("test.html").evaluate(writer); 

而不是提供test.html ,我将如何提供以下格式的模板?

 val template = "Hello {{world}} - {{count}} - {{tf}}" 

我目前在Pebble 2.2.1上

 <!-- Pebble --> <dependency> <groupId>com.mitchellbosecke</groupId> <artifactId>pebble</artifactId> <version>2.2.1</version> </dependency> 

基于我收到的答案的解决方案

 val context = HashMap<String, Any>() ... val engine = PebbleEngine.Builder().loader(StringLoader()).build(); val writer = StringWriter(); engine.getTemplate(template).evaluate(writer, context); println(writer.toString()); 

根据测试 ,你只需要用一个StringLoader来设置引擎:

 val engine = PebbleEngine.Builder().loader(StringLoader()).build() 

你需要像这样向引擎提供一个StringLoader

 val engine = PebbleEngine.Builder() .loader(StringLoader()) .build() val writer = StringWriter() engine.getTemplate("<p>{{name}}</p>").evaluate(writer, mapOf("name" to "Stack Overflow")) val result = writer.toString() // "<p>Stack Overflow</p> 
Interesting Posts