使用apache velocity的自定义指令后,如何获取其他信息?
我们有一组具有一组属性的对象,每个属性都是一个字符串,可以是一个速度模板。我们有一个自定义指令,以便模板可以包含对其他对象的属性的引用,例如:
public class Object
{
public String name; //unique identifier
public Map<String, String> properties ....
public Object(String name)
{
this.name = name
}
}
Object object1 = Object("object1")
object1.property("object1Key") = "object1Value"
Object object2 = Object("object2")
object2.property("object2Key") = "#ObjectProperty('object1', 'objectKey1')"
object2.property(“object2Key”)的'已处理'输出是“object1Value”。
我想要做的是构建一个列表,显示哪些属性引用当前属性。例如:
Set<String> references = getReferences(object1, "object1Key")
和references
将包含一组引用指定属性的字符串。在这种情况下,引用将包含一个字符串,例如:“object2-object2Key”,表示object1Key
上的object1
属性引用了object2Key
上的object2
属性。
我怀疑这可以通过向'VelocityEngine'对象添加'应用程序属性'来实现,但我不确定这是否是正确的方法?