【问题标题】:Jive plugin implementation of Freemarker #listFreemarker #list 的 Jive 插件实现
【发布时间】:2012-05-05 10:49:57
【问题描述】:

这里是关于 FreeMarker 模板和 Jive 插件(用 Java 编写)之间连接的新手问题。

我继承了一个现有的工作项目,其中包含一些 FTL,如下所示:

<#list employeeInstances! as instance>
  <tr>
  ...
  </tr>
</#list>

我试图了解 employeeInstances 是如何在 Java 插件中实际实现的。在项目的其他任何地方都没有提到“employeeInstances”。最接近的是:

public ArrayList<EmployeeInstance> getEmployeeInstances()
{
  ...
}

我猜这就是 Jive 看到#list employeeInstances 时所调用的内容。那正确吗?它基本上是把序列名称“employeeInstances”的第一个字母大写,然后在它前面加上“get”这个词吗?我在讨论此问题的 FreeMarker 或 Jive 文档中找不到任何内容。

谢谢。

【问题讨论】:

    标签: freemarker


    【解决方案1】:

    检查传递给Template.processEnvironment.process 的数据模型。如果它是具有getEmployeeInstances 方法的类的实例,那么您的猜测是正确的。 FreeMarker 将 JavaBean 属性公开为变量,因此 getFoo() 变为 foo

    【讨论】:

    • 谢谢。即使我在项目中没有看到任何对“.process”的引用(FTL 或 JAVA 源,或与此相关的任何其他文件),我想这只是一个 bean 接口的东西。我喜欢自从 OO 出现以来,在软件中连接各个点变得多么困难。
    • 当然process在一些依赖jar-s中被调用。因为必须在某个地方调用它。 (在上面放一个调试器断点,看看谁是调用者。)
    猜你喜欢
    • 2018-03-04
    • 2012-03-12
    • 1970-01-01
    • 2014-09-23
    • 2021-08-19
    • 1970-01-01
    • 2023-03-08
    • 2010-11-09
    • 1970-01-01
    相关资源
    最近更新 更多