代码改变世界

StringTemplate.Net 学习笔记(总结)

2010-05-03 12:32 by 囧月, 4236 阅读, 收藏, 编辑
摘要: 这是我第一次接触模板引擎,也是第一次这么认真的去写一个系列,ST有些概念跟实际的编程语言差不多,通过对ST学习,对编程语言也有了一点新的认识。 StringTemplate.Net 学习笔记(1):开...阅读全文

StringTemplate.Net 学习笔记(11):自定义错误处理

2010-05-03 11:50 by 囧月, 867 阅读, 收藏, 编辑
摘要: ST通过实现IStringTemplateErrorListener接口的类型来进行错误处理,它仅包括2个方法定义(错误与警告): 通过实现此接口,可以自定义错误的处理,如输出到文件(ST默认的错误...阅读全文

StringTemplate.Net 学习笔记(10):模板组继承及模板组接口

2010-05-02 22:21 by 囧月, 1143 阅读, 收藏, 编辑
摘要: 在文章开始之前,假设运行在debug模式且模板文件都放在bin\debug\templates目录下,并且已经在应用程序启动时设置了默认的模板组loader(详细):   1、简介ST的模板组继承是指继承父模板组的所有成员(实际上是直接调用父模板组的成员,而非复制成员到子模板组),ST模板组只有2种成员:模板、Maps(算数据成员)。ST的模板组接口仅仅作为一种约束,只提供模...阅读全文

StringTemplate.Net 学习笔记(9):深入了解模板组文件

2010-05-01 21:47 by 囧月, 1195 阅读, 收藏, 编辑
摘要: 上文展示了简单的模板组文件语法,本文来更详细的了解模板组文件的语法。   1、注释 这里的注释是指模板组文件的注释,它不同于模板文件的注释,仅仅用于在模板组文件内(模板之外),它们是:...阅读全文

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

2010-05-01 19:29 by 囧月, 1389 阅读, 收藏, 编辑
摘要: 1、简介 由于需要的呈现方式越来越多,模板文件(.st)也会随着增多,当数量达到一定程度时,对它们的管理将成为一种麻烦,而且频繁的从硬盘加载也不利于性能。   ST2.0引入了模板组文...阅读全文

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

2010-05-01 12:05 by 囧月, 2145 阅读, 收藏, 编辑
摘要: 在实际应用中,极少有可能把模板定义在代码中,一般都是存储在文件中。 ST通过StringTemplateGroup加载模板文件,ST中默认的模板文件后缀名为.st。   1、表达式分隔...阅读全文

StringTemplate.Net 学习笔记(6):自定义输出格式

2010-04-30 21:38 by 囧月, 1700 阅读, 收藏, 编辑
摘要: ST对于attribute的输出,默认都是调用attribute.ToString()方法。如果要自定义输出格式,则需要实现IAttributeRenderer接口。 下面来定义一个自定义日期格式化...阅读全文

StringTemplate.Net 学习笔记(5):条件声明

2010-04-30 20:52 by 囧月, 2072 阅读, 收藏, 编辑
摘要: ST的条件声明只有一个if语句,假如attribute为bool值,则直接计算,否则它通过判断attribute是否有值来计算。 接下来看几个例子:   例1,计算bool值: &#...阅读全文

StringTemplate.Net 学习笔记(4):表达式元素语法(下)

2010-04-29 21:57 by 囧月, 2268 阅读, 收藏, 编辑
摘要: 接上一篇,完成语法介绍的下半部分   6.匿名模板     以上默认使用it作为当前元素,接下来自定义元素名称:    需要...阅读全文

StringTemplate.Net 学习笔记(3):表达式元素语法(上)

2010-04-29 18:18 by 囧月, 3044 阅读, 收藏, 编辑
摘要: 接上一篇,本文对ST进表达式元素语法进行详细的了解。   1.简单属性 对于简单属性(区别于集合类型),都是直接调用它的ToString()方法 再看一个例子:  2.集合的索引输出:集合不限于Array,可以是实现IList,ICollection,IDictionary等接口的类型。  3.属性引用如果attribute是一个集合 或 自定义类型,则可以通...阅读全文