Struts2 使用struts 2.3.16在ftl中迭代列表(由静态方法返回)时未定义表达式

Struts2 使用struts 2.3.16在ftl中迭代列表(由静态方法返回)时未定义表达式,struts2,static,migration,freemarker,Struts2,Static,Migration,Freemarker,我们在struts 2.0.11上部署了以下正在工作的ftl FTL:: 我们希望struts/freemarker能够向后兼容 struts-2.3.16/freemarker-2.3.19似乎不支持action类上的静态getter方法。有没有人注意到类似的问题?或者我们不推荐使用静态getter的方式 在迁移过程中,很难通过所有ftls/Java代码来识别此类静态getter方法并将其转换为实例方法 我们是否可以使用其他替代方法来迁移此类代码/ftl?自2008-2009年左右以来,Str

我们在struts 2.0.11上部署了以下正在工作的ftl

FTL::

我们希望struts/freemarker能够向后兼容

struts-2.3.16/freemarker-2.3.19似乎不支持action类上的静态getter方法。有没有人注意到类似的问题?或者我们不推荐使用静态getter的方式

在迁移过程中,很难通过所有ftls/Java代码来识别此类静态getter方法并将其转换为实例方法


我们是否可以使用其他替代方法来迁移此类代码/ftl?

自2008-2009年左右以来,Struts 2.1+默认禁用了静态方法访问

简而言之:必须显式启用静态方法访问


此更改在发行说明和迁移指南中都有详细说明。

请参阅。谢谢@AleksandrM它的帮助。谢谢您的回答。在struts.xml中添加
后启用了静态成员访问
[#list allPaymentMethods?sort as item]
     options = options + "<option  name='${item?string}' value='${item?string}' [#if paymentMethods.contains(item)]selected='selected'[/#if]>${item?string}</option>";
[/#list]
public static List<String> getAllPaymentMethods()
public List<String> getAllPaymentMethods()