标签: dropwizard-templates

Freemarker:在模板中没有 getter 的情况下访问公共字段

我正在 Dropwizard 应用程序中设置视图,但遇到了一个关于 Freemarker 的奇怪问题。

按照此处文档,我设置了一个非常简单的示例,如下所示

public class ExampleFreemarkerView extends View {
  private Foo foo;

  public ContractHtmlView(Foo Foo) {
    super("FooView.ftl");
    this.foo = foo;
  }

  public Contract getFoo() { return foo };
}

public class Foo {
  public String bar = "Hello World";
}
Run Code Online (Sandbox Code Playgroud)

FooView.ftl

<html>
  <body>
    <h1>${foo.bar}</h1>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

呈现时的预期输出ExampleFreemarkerView是显示 的 HTML 文档Hello World

实际发生的是 Freemarker 抛出异常,抱怨${foo.bar}- 特别bar是 - 未定义。

这似乎是因为bar是一个公共字段,没有吸气剂。当我向 中添加public String getBar() …

java freemarker public-members dropwizard dropwizard-templates

2
推荐指数
1
解决办法
3346
查看次数