以下FTL标记对我来说很好,并在我的服务器端JiveActionSupport对象中调用getWidgets():
<#list widgets! as widget>
-- do something with widget.sku
</#list>
Run Code Online (Sandbox Code Playgroud)
但是,我真的需要一个依赖于widget属性的内部列表,如下所示:
<#list widgets! as widget>
<#list manufacturers(widget.sku)! as manufacturer>
-- do something with manufacturer
</#list>
</#list>
Run Code Online (Sandbox Code Playgroud)
我试图实现服务器端代码,如下:
public List<Manufacturer> getManufacturers(int sku);
public List<Manufacturer> getManufacturers(String sku);
Run Code Online (Sandbox Code Playgroud)
但两者都导致"表达式制造商在第123行未定义".
如何将参数传递给当前JiveActionSupport对象的方法?谢谢.
这里可能让你迷茫的事情是getFoo()可以被称为foo,但getFoo(param)不能被称为foo(param),只能作为getFoo(param).但这正是JavaBeans的工作方式; getFoo()定义JavaBean属性,而getFoo(params)不是.
无论如何,如果getManufacturers是数据模型(根)对象的方法,那么(假设正确的对象包装)你应该能够将其称为getManufacturers(param).原则上你不需要启动它action..