Containers
Page Contents
这些是散列,序列和集合。
Hashes
哈希是实现TemplateHashModel
接口的 Java 对象。 TemplateHashModel
包含两种方法:TemplateModel get(String key)
(返回给定名称的子变量)和boolean isEmpty()
(指示散列是否具有零子变量)。如果不存在具有给定名称的子变量,则get
方法返回 null。
TemplateHashModelEx
接口扩展了TemplateHashModel
。它添加了values和keys内置函数可以枚举哈希的子变量的方法。
常用的实现是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
。