StringTemplate.Net 学习笔记(7):加载模板文件

这篇博客详细介绍了在StringTemplate.Net中如何加载模板文件,包括表达式分隔符的设定、模板文件的加载机制及其变化,以及从程序集嵌入资源中加载模板的方法。此外,还展示了自定义加载模板的示例代码,强调了加载模板的灵活性。
摘要由CSDN通过智能技术生成

在实际应用中,极少有可能把模板定义在代码中,一般都是存储在文件中。

ST通过StringTemplateGroup加载模板文件,ST中默认的模板文件后缀名为.st。

1、表达式分隔符

在演示加载模板文件之前,不得不说一下默认的表达式分隔符,ST为模板提供了2种表达式分隔符$…$和<…>,它们分别由Antlr3.ST.Language命名空间下的TemplateLexerAngleBracketTemplateLexer定义,模板(st)的默认表达式分隔符为$…$;模板组(stg)中的模板默认表达式分隔符为<…>(v2.2版默认为$…$)。

如果不想使用这些表达式分隔符,可以通过继承Antlr.Runtime.Lexer来定义自己的表达式分隔符。

下面演示一下使用尖括号作为模板的表达式分隔符:

	StringTemplate st = new StringTemplate("<title>", typeof(AngleBracketTemplateLexer));
	st.SetAttribute("title", "使用尖括号作为ST表达式分隔符");
	Console.WriteLine(st.ToString());
	输出:使用尖括号作为ST表达式分隔符

也可以在初始化StringTemplateGroup时指定表达式分隔符。

2、加载模板文件

StringTemplateGroup使用一个templates字典作为在当前group缓存模板,多次加载同一个模板文件,只会从硬盘加载一次。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值