Java 从字符串构建组的正确stringtemplate组语法是什么?
我试图从Java 从字符串构建组的正确stringtemplate组语法是什么?,java,stringtemplate,Java,Stringtemplate,我试图从字符串构建STGroup,但它抱怨无效字符和缺少模板: final String templates=“a(x):=$x.fname$$x.lname$\n”+ “b(个人):=$persons:a()$\n”; final STGroup grp=newstgroupstring(“mysource”,模板,“$”,“$”); 以下是它所吐出的错误: mysource 1:10: invalid character '<' mysource 1:10: missing temp
字符串
构建STGroup
,但它抱怨无效字符和缺少模板:
final String templates=“a(x):=$x.fname$$x.lname$ \n”+
“b(个人):=$persons:a()$
\n”;
final STGroup grp=newstgroupstring(“mysource”,模板,“$”,“$”);
以下是它所吐出的错误:
mysource 1:10: invalid character '<'
mysource 1:10: missing template at 'li'
mysource 1:12: invalid character '>'
mysource 1:13: invalid character '$'
mysource 1:10: garbled template definition starting at 'li'
mysource 1:14: garbled template definition starting at 'x'
mysource 1:21: invalid character '$'
mysource 1:23: invalid character '$'
mysource 1:16: garbled template definition starting at 'fname'
mysource 1:24: garbled template definition starting at 'x'
mysource 1:31: invalid character '$'
mysource 1:33: invalid character '<'
mysource 1:34: invalid character '/'
mysource 1:26: garbled template definition starting at 'lname'
mysource 1:36: invalid character '>'
mysource 1:34: garbled template definition starting at 'li'
mysource 2:16: invalid character '<'
mysource 2:16: missing template at 'ul'
mysource 2:18: invalid character '>'
mysource 2:19: invalid character '$'
mysource 2:16: garbled template definition starting at 'ul'
mysource 2:20: garbled template definition starting at 'persons'
mysource 2:31: invalid character '$'
mysource 2:33: invalid character '<'
mysource 2:34: invalid character '/'
mysource 2:36: invalid character '>'
mysource 2:34: missing '::=' at 'ul'
mysource 2:34: missing template at 'ul'
mysource 2:28: redefinition of template a
mysource 2:34: garbled template definition starting at 'ul'
mysource 1:10:无效字符“”
mysource 1:13:无效字符“$”
mysource 1:10:从'li'开始的混乱模板定义
mysource 1:14:从“x”开始的混乱模板定义
mysource 1:21:无效字符“$”
mysource 1:23:无效字符“$”
mysource 1:16:从'fname'开始的混乱模板定义
mysource 1:24:从“x”开始的混乱模板定义
mysource 1:31:无效字符“$”
mysource 1:33:无效字符“”
mysource 1:34:从'li'开始的混乱模板定义
mysource 2:16:无效字符“”
mysource 2:19:无效字符“$”
mysource 2:16:从“ul”开始的混乱模板定义
mysource 2:20:从“persons”开始的混乱模板定义
mysource 2:31:无效字符“$”
mysource 2:33:无效字符“”
mysource 2:34:在“ul”处缺少“::=”
mysource 2:34:在“ul”处缺少模板
mysource 2:28:模板a的重新定义
mysource 2:34:从“ul”开始的混乱模板定义
我想使用
$
作为分隔符,能够呈现这些模板的正确格式是什么?我找到了一个程序解决方案,并回答了一些相关问题和一些实验:
STGroup grp = new STGroup('$', '$');
final CompiledST templateA = grp.defineTemplate("a", "<li>$it.fname$ $it.lname$</li>");
templateA.addArg(new FormalArgument("it"));
final CompiledST templateB = grp.defineTemplate("b", "<ul>$list:a()$</ul>");
templateB.addArg(new FormalArgument("list"));
STGroup grp=newstgroup(“$”、“$”);
最终编译的ST模板a=grp.defineTemplate(“a”,“$it.fname$$it.lname$ ”;
templateA.addArg(新格式文件(“it”));
最终编译的ST模板b=grp.defineTemplate(“b”,即“$list:a()$
”);
模板b.addArg(新格式附件(“列表”);