【发布时间】:2012-05-16 05:29:25
【问题描述】:
以下 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 对象的方法?谢谢。
【问题讨论】:
-
这听起来很复杂,您应该将其移出标记。确定控制器中的制造商列表(或任何调用模板的对象),并将该列表直接公开给模板。保持模板简单。
-
是的,我当然可以让它变得更简单,但我仍然对如何在超出此范围的情况下调用带参数的方法感兴趣。 stackoverflow.com/questions/1362343 上的文章建议可以做到,但我无法获得最简单的带有 int 或 String 参数的示例。
标签: java freemarker