EL中参数化方法调用的参数类型

Hao

我当时objectMapper.writeValueAsString在EL中进行这样的方法调用

<%@ attribute name="actionItems" required="true" rtexprvalue="true" type="java.util.List"%>
<jsp:useBean id="objectMapper"     class="org.codehaus.jackson.map.ObjectMapper" scope="page" />
<jsp:useBean id="actionItemsMap" class="java.util.HashMap" />
<c:set target="${actionItemsMap}" property="actionItems"         value="${objectMapper.writeValueAsString(actionItems)}" />

writeValueAsString方法签名中接受一个Object参数这是工作,当我通过actionItems这是一个ArrayList

现在,我将ApacheTomcat 7从7.0.52升级到7.0.70,并且代码已被破坏MethodNotFoundException

javax.el.MethodNotFoundException:java.lang.NoSuchMethodException:org.apache处javax.el.BeanELResolver.invoke(BeanELResolver.java:422)上的org.codehaus.jackson.map.ObjectMapper.writeValueAsString(java.util.ArrayList)。 jasper.el.JasperELResolver.invoke(JasperELResolver.java:139)

它正在尝试查找writeValueAsString具有参数类型的方法ArrayList似乎与7.0.53中的此更改有关。我应该如何更改代码才能使其正常工作?我是否必须使用Object自变量进行方法调用?如果是这样,有没有办法我可以将其ArrayList强制转换为EL中的Object然后进行方法调用?

Hao

原来这是我们这方面的问题。支持这些参数化的方法调用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章