jntemplate中文手册
  • 入门

    • 介绍
    • 获取
    • 快速开始
    • 模板编译
    • Hello World
  • 标签与语法

    • 标签说明
    • 基础标签
    • 复合标签
  • 定制化

    • 配置项
    • 自定义标签
  • 指南

    • 更新日志
    • 许可协议
    • 链接

快速开始

  1. 我们可以通过 Engine.LoadTemplate(...)快速从一个文件来创建一个模板,也可以通过 Engine.CreateTemplate(...)从指定模板内容创建模板。
  2. 通过ITemplate.Set(...) 可以为模板赋值
  3. 调用 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"); 
最近更新: 2023/10/22 20:34
Contributors: 翅膀的初衷, hnvvv
Prev
获取
Next
模板编译