Containers

Page Contents

这些是散列,序列和集合。

Hashes

哈希是实现TemplateHashModel接口的 Java 对象。 TemplateHashModel包含两种方法:TemplateModel get(String key)(返回给定名称的子变量)和boolean isEmpty()(指示散列是否具有零子变量)。如果不存在具有给定名称的子变量,则get方法返回 null。

TemplateHashModelEx接口扩展了TemplateHashModel。它添加了valueskeys内置函数可以枚举哈希的子变量的方法。

常用的实现是SimpleHash,它实现TemplateHashModelEx。在内部,它使用java.util.Hash来存储子变量。 SimpleHash具有可用于添加和删除子变量的方法。这些方法应在变量创建后立即用于初始化。

容器在 FTL 中是不变的。也就是说,您不能添加,替换或删除它们包含的子变量。

Sequences

序列是实现TemplateSequenceModel的 java 对象。它包含两个方法:TemplateModel get(int index)int size()

常用的实现是SimpleSequence。它在内部使用java.util.List来存储其子变量。 SimpleSequence具有可以添加子变量的方法。创建序列后,应使用这些方法直接填充序列。

Collections

集合是实现TemplateCollectionModel接口的 Java 对象。该接口具有一种方法:TemplateModelIterator iterator()TemplateModelIterator接口类似于java.util.Iterator,但是它返回TemplateModels而不是Object -s,并且可以抛出TemplateModelException

常用的实现是SimpleCollection