当前位置: 首页 > 面试题库 >

如何从Velocity模板访问对象的公共字段

麻阳
2023-03-14
问题内容

这是我的对象类:

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);

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

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

是否可以通过Velocity访问对象上的公共字段而无需添加吸气剂?


问题答案:

默认不是。您需要配置其他Uberspect实现。



 类似资料:
  • 我试图从一个Liferay模板中发出自定义字段的值。 使用管理员界面,我定义了一个名为“org home page”的新组织级自定义字段,默认值为“tom rules”。 我想在portal_normal中发出这个值。虚拟机 我根据一位同事发送的一些帖子和样本,以及我自己的大量实验,拼凑出了这段代码: 不幸的是,Velocity无法解析表达式,并且保持不变。 以下表达式在portal_normal

  • 我在Dropwizard应用程序中设置视图时遇到了Freemarker的一个奇怪问题。 按照这里的文档,我建立了一个非常简单的示例,如下所示 使用 呈现时的预期输出是显示的HTML文档。 实际发生的情况是Freemarker抛出一个异常,抱怨——特别是——未定义。 这似乎是因为是一个公共字段,没有getter。当我添加一个公共字符串getBar(){返回栏;}getter到时,它就工作了。 我有点

  • 我正在尝试从Java切换到Kotlin。但我有很多遗留代码和第三方库。我看到,Java类中经常存在没有getter和setter的公共字段,这些字段必须从其他类访问。如果没有Kotlin代码中的getter,我如何访问Java类的公共字段?

  • 这是一个非常基本的问题,我很确定我做错了什么,或者做了一些假设。开始了。 我正在写一个Jira插件,它使用Velocity模板系统。我有一个ResultRow对象列表,其中ResultRow是一个具有单个成员变量的类:String key: 结果和预期的一样:com.domain.jira.resultRow@7933F2C6。 我想我可能错过了课堂上的一些要求。是否需要以某种特殊的方式定义,以建

  • 问题内容: 我们有一个基于自定义数据库的系统,其中许多属性被命名为包含连字符,即: 不能按以下方式在模板中访问这些属性: Django为此抛出异常。我想避免不得不转换所有键(和子表键)以使用下划线来解决此问题。有更容易的方法吗? 问题答案: 如果您不想重组对象,那么自定义模板标签可能是唯一的选择。对于使用任意字符串键访问字典,此问题的答案提供了一个很好的示例。 对于懒惰的人: 您这样使用: 如果要

  • 我有一个用例,其中输入数据是xml格式的。它包含多个字段,而我们只感兴趣阅读很少的字段。 根据不同的用例,必须编写单独的velocity模板来将xml转换为json数据。 关于如何编写velocity模板以将XML转换为JSON,我找不到更好的指南。有人能帮助我们如何编写从XML到JSON转换的velocity吗? 提前感谢!