快速开始
- 我们可以通过
Engine.LoadTemplate(...)
快速从一个文件来创建一个模板,也可以通过Engine.CreateTemplate(...)
从指定模板内容创建模板。 - 通过
ITemplate.Set(...)
可以为模板赋值 - 调用
ITemplate.Rebder(...)
获取呈现结果
示例:
模板文件default.html
<p>你好,$name</p>
后台代码
var template = Engine.LoadTemplate("c:\\default.html");
template.Set("name","jntemplate");
var result = template.Render();
或者
var template = Engine.CreateTemplate("<p>你好,$name</p>");
template.Set("name","jntemplate");
var result = template.Render();
output:
<p>你好,jntemplate</p>
说明
我们可以通过扩展方法template.Render()
直接获取生成的文本内容,也可以通过template.Render(TextWriter:writer)
直接写入输出流,如:
- 在控制台程序中
var template = Engine.CreateTemplate("<p>你好,$name</p>");
template.Set("name","jntemplate");
template.Render(Console.Out);
- 在WebForm中
var template = Engine.CreateTemplate("<p>你好,$name</p>");
template.Set("name","jntemplate");
template.Render(Response.Output);
更简洁的用法
从v2.2.5
开始,JNTemplate 支持使用更加简洁的Engine.Parse
写法,方便在 NET Minimal API 中使用。
支持的对象可以是字典IDictionary<string, object>
如:
示例代码:
var result = Engine.Parse($"hello,$name", new Dictionary<string, object>{
{ "name","jntemplate"},
});
输出:
hello,jntemplate
或者匿名对象:
示例代码:
var result = Engine.Parse($"hello,$UserName", new {
UserName = "jntemplate"
});
输出:
hello,jntemplate
或者其它任何自定义的类,默认情况下,常规类可以通过类名来访问对象,泛型类或者其它特殊类,可以通过$Model
来访问对象
示例代码:
var result = Engine.Parse($"hello,$User.UserName", new User {
UserName = "jntemplate"
});
如果喜欢使用早期的方式,所有的对象都通过$Model
来访问,可以通过下面的配置来实现:
配置代码:
//注意此代码全局只需要配置一次,也可以改成你喜欢的任一名称
Engine.Configure(o => o.ModelName = "Model");