Well, I opened a ticket with Oracle, and send them a testcase. They determined that it is a bug with the parsing of EL expression on WebLogic 10.3.0 for Windows. Later versions are not affected.
Thank you for your help! 2011/8/31 Maurizio Cucchiara <mcucchi...@apache.org> > IIRC some application server provide their "custom" implementation of > the taglib library. > Looks like a WebLogic issue, after all there is no reason it works on > Linux (and also as you noticed, there is only one function declaration > inside JsonPlugin.tld). > > Maurizio Cucchiara > > > > On 31 August 2011 06:04, JOSE L MARTINEZ-AVIAL <jlm...@gmail.com> wrote: > > BTW, I just upgraded to Strus-2.2.3, and it fails too, but this time the > > errors says Function 'json:serialize' specifies 6 params, but 1 were > > declared. > > > > 2011/8/30 JOSE L MARTINEZ-AVIAL <jlm...@gmail.com> > > > >> 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 > >>> > >>> > >> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > >