【发布时间】:2012-06-21 20:20:58
【问题描述】:
我正在使用 StringTemplate V4 在我的项目中生成一些 HTML 代码。
我需要在我的模板中设置 HTML 格式,因此使用默认分隔符 < 和 > 会很尴尬。
所以,我正在创建一个将分隔符作为参数传递的组(如 this question 所推荐的那样),但它根本不起作用。
这是我的测试代码:
public void testTemplate() {
char sep = '$';
STGroup stGroup = new STGroupString("temp",
"<html>hello, $name$!</html>", sep, sep);
System.out.println("Group created");
ST st = stGroup.getInstanceOf("temp");
if (st == null) {
System.out.println("Failed to get template!");
} else {
st.add("name", "Guest");
System.out.println("Template initialized correctly");
}
}
这是我得到的输出:
temp 1:1: invalid character '<'
temp 1:5: invalid character '>'
temp 1:1: garbled template definition starting at 'html'
temp 1:6: garbled template definition starting at 'hello'
temp 1:13: invalid character '$'
temp 1:18: invalid character '$'
temp 1:19: invalid character '!'
temp 1:21: invalid character '<'
temp 1:22: invalid character '/'
temp 1:14: garbled template definition starting at 'name'
temp 1:26: invalid character '>'
temp 1:22: garbled template definition starting at 'html'
Failed to get template!
我在这里错过了什么?
【问题讨论】:
-
它只适用于模板,但我确实需要使用组,因为在实际代码中我需要注册渲染器。
标签: java stringtemplate stringtemplate-4