Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从字符串构建组的正确stringtemplate组语法是什么?_Java_Stringtemplate - Fatal编程技术网

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(新格式附件(“列表”);