It's strange. I remove the c:put, deploy the war, and it failed again. When I took a look at the java code generated by the JSP, and it has the following declaration
static private weblogic.jsp.internal.jsp.JspFunctionMapper _jspx_fnmap = weblogic.jsp.internal.jsp.JspFunctionMapper.getInstance(); static {_jspx_fnmap.mapFunction("json:serialize", org.apache.struts2.json.JSONUtil.class, "serialize", new Class[]{ java.lang.Object .class , java.util.Collection .class , java.util.Collection .class , boolean .class , boolean .class }); } So it is creating a Function Mapper for json:serialize that receives 5 arguments (Object, Collection, Collection, boolean, boolean). If one takes a look at the API( http://struts.apache.org/2.1.8/struts2-plugins/struts2-json-plugin/apidocs/org/apache/struts2/json/JSONUtil.html#method_summary), the method serialize is overloaded, so there is a method that receives only an object(The one that is declared on the TLD), and another one that receives the same arguments defined on the JSP. It seems that the WebLogic is ignoring the TLD, and it is just using another method instead of the one indicated on the TLD, which is defined as follows [...] <function> <name>serialize</name> <function-class>org.apache.struts2.json.JSONUtil</function-class> <function-signature> java.lang.String serialize(java.lang.Object) </function-signature> </function> [...] Any idea of why it can behave that way? It's curious that on Linux it works fine, it only fails on Windows. 2011/8/30 Maurizio Cucchiara <mcucchi...@apache.org> > Also, you should verify against the latest version (2.2.3). > Again, IIRC there should be some similar trouble with the version you are > using. > > Maurizio Cucchiara > > > > On 30 August 2011 21:51, JOSE L MARTINEZ-AVIAL <jlm...@gmail.com> wrote: > > Hi, > > > > I'm using Struts 2.1.8, with plugin struts2-json-plugin-2.1.8.1.jar in > an > > application deployed on WebLogic 10.3 ovver RedHat. We've been using the > tag > > json:serialize without issue for months. But today we installed the same > > version of WebLogic over Windowx 7, and every time that tag is used, we > got > > that error: > > > > Function 'json:serialize' specifies 5 params, but 1 were declared > > > > The tag is used as follows: > > > > var boxContent = <c:out value="${json:serialize(myDataStore)}" > > escapeXml='false'/>; > > > > It is the same war we deployed (and it works) on our RedHat environment, > so > > I don't understand why is giving such error message. Any ideas? > > > > Thanks > > > > JL > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > >