Groovy - 模板引擎
-
简述
Groovy 的模板引擎的运行方式类似于邮件合并(自动将数据库中的姓名和地址添加到信件和信封中,以便于向多个地址发送邮件,尤其是广告),但它更为通用。 -
字符串中的简单模板
如果您采用下面的简单示例,我们首先定义一个名称变量来保存字符串“Groovy”。在 println 语句中,我们使用 $ 符号来定义可以插入值的参数或模板。如果在 groovy 中执行上述代码,将显示以下输出。输出清楚地表明 $name 已被 def 语句分配的值替换。 -
简单模板引擎
以下是 SimpleTemplateEngine 的示例,它允许您在模板中使用类似 JSP 的脚本和 EL 表达式来生成参数化文本。模板引擎允许您绑定参数列表及其值,以便可以在具有已定义占位符的字符串中替换它们。如果在 groovy 中执行上述代码,将显示以下输出。现在让我们对 XML 文件使用模板功能。作为第一步,让我们将以下代码添加到名为 Student.template 的文件中。在下面的文件中,您会注意到我们没有为元素添加实际值,而是添加了占位符。所以 $name,$is 和 $subject 都作为占位符放置,需要在运行时替换。现在让我们添加 Groovy 脚本代码以添加可用于将上述模板替换为实际值的功能。下面的代码需要注意以下几点。-
占位符到实际值的映射是通过绑定和 SimpleTemplateEngine 完成的。绑定是一个 Map,其中占位符作为键,替换项作为值。
如果在 groovy 中执行上述代码,将显示以下输出。从输出中可以看出,相关占位符中的值已成功替换。 -
-
流模板引擎
StreamingTemplateEngine 引擎是 Groovy 中可用的另一个模板引擎。这有点等同于 SimpleTemplateEngine,但使用可写闭包创建模板,使其对于大型模板更具可扩展性。具体来说,这个模板引擎可以处理大于 64k 的字符串。以下是如何使用 StreamingTemplateEngine 的示例 -如果在 groovy 中执行上述代码,将显示以下输出。 -
XML模板引擎
XmlTemplateEngine 用于模板源和预期输出都是 XML 的模板场景。模板使用普通的 ${expression} 和 $variable 符号将任意表达式插入到模板中。以下是如何使用 XMLTemplateEngine 的示例。如果在 groovy 中执行上述代码,将显示以下输出