java - 如何从 Velocity 模板访问对象的公共(public)字段

标签 java field velocity public vtl

这是我的对象类:

public class Address
{
    public final String line1;
    public final String town;
    public final String postcode;

    public Address(final String line1, final String town, final String postcode)
    {
        this.line1 = line1;
        this.town = town;
        this.postcode = postcode;
    }
}

我像这样将它添加到速度上下文中:

Address theAddress = new Address("123 Fake St", "Springfield", "SP123");
context.put("TheAddress", theAddress);

但是,在编写模板时,以下内容不会呈现地址字段(但是,当我向 Address 类添加 getter 时它工作正常)

<Address>
    <Line1>${TheAddress.line1}</Line1>
    <Town>${TheAddress.town}</Town>
    <Postcode>${TheAddress.postcode}</Postcode>
</Address>

是否可以在不添加 getter 的情况下从 Velocity 访问对象的公共(public)字段?

最佳答案

默认情况下不是。您需要配置不同的 Uberspect 实现。

关于java - 如何从 Velocity 模板访问对象的公共(public)字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17068607/

相关文章:

apache - 速度模板引擎 - 键值映射

java - Flying Saucer PDF,如何添加作为链接的图像?

css - 在 confluence 4.0 中使用 css 样式化速度标记

java - 在 DAO 模式中添加服务有什么好处?

java - Java 从数组中删除元素

java - 在设计系统的其他部分之前开发原型(prototype) GUI 是否明智?

HTML/CSS - 更改文本字段的属性

.net - 通过反射查找 FieldRef 和 FieldDef 元数据标记

java - 运行两个并行事务

sql - 使用 SQL 语句获取数据库中的字段数?