我想在java中使用handlerbars(com.github.jknack)来替换字符串中的值,如下所示:
@Test
public void handlebarTest() throws IOException {
var map = new HashMap<String, Object>();
var input = "testing handlerbars {{ test }} - {{ foo/bar }}";
var handlebars = new Handlebars();
map.put("test","testValue");
map.put("foo", new HashMap<>().put("bar", "fooValue")); //does not work
map.put("foo/bar", "fooValue"); //does not work
Template template = handlebars.compileInline(input);
var result = template.apply(map);
System.out.println(result);
}
这个测试的输出是: testing handlerbars testValue -
预期的输出将是: testing handlerbars testValue - fooValue
当文字是简单的 ( {{ test }}
) 时,替换工作正常,但当文字包含斜线 ( ) 时,它不起作用{{ foo/bar }}
。有没有办法用车把替换"foo/bar"
字符串"fooValue"
?