【发布时间】:2018-03-01 14:48:47
【问题描述】:
我正在使用 dmustache (https://github.com/synopse/dmustache) 来呈现一些模板。我想知道如果字符串变量是空字符串,怎么不能渲染某个部分。
这个简化的程序呈现FirstName: Joe MiddleName: LastName: Doe,但我想要FirstName: Joe LastName: Doe,因为没有MiddleName(只有在这种情况下)。
program P;
uses
System.SysUtils, SynMustache, SynCommons;
const
TEMPLATE = 'FirstName: {{FIRSTNAME}} {{#MIDDLENAME}}MiddleName: {{MIDDLENAME}}{{/MIDDLENAME}} LastName: {{LASTNAME}}';
var
Mustache: TSynMustache;
Content: Variant;
begin
Mustache := TSynMustache.Parse(TEMPLATE);
TDocVariant.New(Content);
Content.FirstName := 'Joe';
Content.MiddleName := '';
Content.LastName := 'Doe';
WriteLn(Mustache.Render(Content));
ReadLn;
end.
在模板中使用部分不会改变结果
TEMPLATE = 'FirstName: {{FIRSTNAME}} {{#MIDDLENAME}}MiddleName: {{MIDDLENAME}} {{/MIDDLENAME}}LastName: {{LASTNAME}}';
【问题讨论】: