应使用Velocity文档tells解决变量#set
derective或POJO与相应属性的问题。有没有办法提供客户解析器?例如。当$client
出现在模板中时,解析go
到数据库,检索Client
实体,获取name
字段并填写$client
占位符。 velocity模板引擎是否支持此类扩展?
答案 0 :(得分:0)
您可以尝试使用ReferenceInsertionHandler,但它的目的是过滤(也就是修改,以某种方式改变)显示的值,而不是来自Velocity引用的获取值。
这样的任务通常由上下文对象本身完成。也就是说,$client
可以包含一个知道如何获取并在其toString()
方法上返回客户端名称的对象。
您还可以将对象与getter和setter一起使用,这样只要$client.name
就可以编写$client.address
。你会让自己做某种ORM。作为旁注,有existing libraries缓解了Velocity的这项任务。