使用 Freemarker 中的参数调用 Java 方法

2024-01-10

以下 FTL 标记对我来说效果很好,并在我的服务器端 JiveActionSupport 对象中调用 getWidgets() :

<#list widgets! as widget>
  -- do something with widget.sku
</#list>

但是,我确实需要一个取决于小部件属性的内部列表,如下所示:

<#list widgets! as widget>
  <#list manufacturers(widget.sku)! as manufacturer>
  -- do something with manufacturer
  </#list>
</#list>

我尝试实现服务器端代码,如下所示:

public List<Manufacturer> getManufacturers(int sku);
public List<Manufacturer> getManufacturers(String sku);

但两者都会导致“表达式制造商在第 123 行未定义”。

如何将参数传递给当前 JiveActionSupport 对象的方法?谢谢。


这里可能让你感到困惑的是getFoo()可以称为foo, but getFoo(param)不能称为foo(param),仅当getFoo(param)。但这正是 JavaBean 的工作原理;getFoo()定义一个 JavaBean 属性,同时getFoo(params)没有。

无论如何,如果getManufacturers是数据模型(根)对象的方法,那么(假设正确的对象包装)您应该能够将其调用为getManufacturers(param)。你不需要开始它action.原则。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Freemarker 中的参数调用 Java 方法 的相关文章

随机推荐