Freemarker表达未定义

时间:2018-11-30 15:54:39

标签: java freemarker

我在模板中具有以下免费标记:

${root.product.getInventoryReference(channel)}

在eclipse中运行我的应用程序时,它工作正常,但是当我运行编译版本时,出现错误:

Expression root.product.getInventoryReference(channel) is undefined on line 3, column 28 in rtd.integration.builder.ApiOperationConfigurationKeySource@b701440-sourceTemplate.
The problematic instruction:
----------
==> ${root.product.getInventoryReference(channel)} [on line 3, column 26 in rtd.integration.builder.ApiOperationConfigurationKeySource@b701440-sourceTemplate]
----------

我的产品对象具有如下的getInventoryReference方法:

public class Product extends ... {
   ...
   public String getInventoryReference(Channel channel) {
    ChannelProduct selectedChannelProduct = getChannelProduct(channel);
    if (selectedChannelProduct != null) {
      return selectedChannelProduct.getInventoryReference();
    }
    return null;
  }
  ...
}

我知道product,root和channel不为空,因为我无法从同一模板内的root.product访问其他方法,并在其他地方使用channel。

我还检查了应用程序构建版本中的产品类文件是否确实具有该方法。反编译后,我可以确认是这种情况。

有人对为什么会失败有其他想法吗? 谢谢

0 个答案:

没有答案